2011-12-17 95 views
1

我想讓用戶選擇添加主屏幕快捷方式來啓動應用程序(在第一次啓動時提示他)。在主屏幕上創建快捷方式

我看到,例如WhatsApp的自動創建圖標

我該怎麼辦呢?該應用是否需要額外的權限?由於

林,試圖(但不工作)

Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); 

    // Shortcut name 
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "MyApp"); 
    shortcut.putExtra("duplicate", false); // Just create once 

    // Setup current activity shoud be shortcut object 
    ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName()); 
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp)); 

    // Set shortcut icon 
    ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher); 
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes); 

    sendBroadcast(shortcut); 
+0

你有這個功能的工作? – Manikanta 2017-03-21 11:46:22

回答

3

你設置你的清單文件中的活動意圖是什麼?在這裏閱讀:

Android create shortcuts on the home screen

+0

是的,就是這樣!謝謝! – Addev 2011-12-17 18:32:33

+0

如果它已經存在,您不應該再次創建快捷方式。如果已安裝捷徑,則可以使用共享的prefs文件在您的應用中創建一個註釋,如果安裝了捷徑,則不會創建另一個。 – Ozzy 2011-12-17 18:39:16

+0

Okey我檢查(清除用戶數據)和WhatsApp也使用該系統。謝謝! – Addev 2011-12-17 18:43:28

2

有這樣做沒有任何記載和支持手段。並非所有主屏幕即使都有快捷方式,更不用說用於建立一個API。

以上引用的技術可能無法適用於所有版本的Android,並且只適用於一小部分Android設備和用戶。它也是無證的和不受支持的。

+0

是的。製作家庭小部件會更好嗎?那些可以添加它的人可以自己添加它。 – Ozzy 2011-12-17 18:38:10

+1

@ user1031312:他們也可以爲自己的應用添加快捷方式,以支持該概念的主屏幕。無論應用程序小部件是否適合您的應用程序,我都不能說 - 這將取決於應用程序。 – CommonsWare 2011-12-17 18:41:50

+0

我想我正在開發'光滑的應用程序'。所以我想要使用主屏幕小部件:P。順便說一句,如果可以在商店裏買到,我很可能會購買你的書,不幸的是,我是一個沒有信用卡的孩子,但是你看到了一點零花錢。 – Ozzy 2011-12-17 19:06:17

相關問題