应用程序在主屏幕上创建多个快捷方式

时间:2013-06-26 22:44:36

标签: java android shortcut launcher homescreen

我的主要活动有以下代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    …


    homescreenShortcut();
}

private void homescreenShortcut() {
    Intent shortcutIntent = new Intent();
    shortcutIntent.setClassName(this, this.getClass().getName());
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    shortcutIntent.addCategory(Intent.ACTION_PICK_ACTIVITY);
    Intent intent = new Intent();
    intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "MyApp");
    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
        Intent.ShortcutIconResource.fromContext(this, R.drawable.app_icon));

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

每次启动应用程序时,它都会在主屏幕上创建一个新的快捷方式。是否有标准或简单的方法来确保只创建一个主页图标?

我正在考虑卸载之前的(如果有的话),然后(重新)安装。但这似乎有点矫枉过正。

1 个答案:

答案 0 :(得分:0)

添加

shortcutintent.putExtra("duplicate", false);