2011-12-17 102 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

相关问题