簡體   English   中英

Android:在主屏幕上為我的包中的活動獲取更多圖標(快捷方式)

[英]Android: Get more icons (shortcuts) to activities in my package on the homescreen

我知道我可以創建一個可以放在主屏幕上的小部件,但有可能當用戶安裝應用程序時,只有我的標准啟動器圖標才會啟動某個活動。 但是當用戶選擇時(通過點擊我的應用程序中的按鈕),將在設備的主屏幕上創建另一個圖標,直接鏈接到另一個活動? 因此,通過單擊主屏幕上的該圖標,我的包中的另一個活動將打開?

如果可能,有人有片段嗎?

謝謝!

感謝這個博客: http//viralpatel.net/blogs/android-install-uninstall-shortcut-example/

在Manifest中添加所需的權限:

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

添加到快捷方式所指的清單中的活動:

   android:exported="true"

然后使用以下方法安裝/卸載快捷方式:

 private void addShortcut() {
        //Adding shortcut for MainActivity 
        //on Home screen
        Intent shortcutIntent = new Intent(getApplicationContext(),
                MainActivity.class);

        shortcutIntent.setAction(Intent.ACTION_MAIN);

        Intent addIntent = new Intent();
        addIntent
                .putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "HelloWorldShortcut");
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                Intent.ShortcutIconResource.fromContext(getApplicationContext(),
                        R.drawable.ic_launcher));

        addIntent
                .setAction("com.android.launcher.action.INSTALL_SHORTCUT");
        getApplicationContext().sendBroadcast(addIntent);
    }


private void removeShortcut() {

        //Deleting shortcut for MainActivity 
        //on Home screen
        Intent shortcutIntent = new Intent(getApplicationContext(),
                MainActivity.class);
        shortcutIntent.setAction(Intent.ACTION_MAIN);

        Intent addIntent = new Intent();
        addIntent
                .putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "HelloWorldShortcut");

        addIntent
                .setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");
        getApplicationContext().sendBroadcast(addIntent);
    }

要向快捷方式添加活動,只需將此意圖過濾器添加到清單中的活動:

<intent-filter>
    <action android:name="android.intent.action.CREATE_SHORTCUT" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM