1

我的主要活动有以下代码

@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);
}

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

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

4

1 回答 1

0

添加

shortcutintent.putExtra("duplicate", false);
于 2014-03-04T19:19:01.787 回答