快捷方式创建无效

时间:2018-05-21 04:56:11

标签: android android-shortcut

我有这个代码用于在主屏幕上创建我的应用程序的快捷方式,它适用于API 21+,但它不能在它下面工作。

这是我的代码:

Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
        shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

        Intent addIntent = new Intent();
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
        addIntent.putExtra("duplicate", false);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.mipmap.ic_launcher));
        addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
        getApplicationContext().sendBroadcast(addIntent);

如何让它适用于所有Android版本?

1 个答案:

答案 0 :(得分:1)

添加此行

shortcutIntent.setAction(Intent.ACTION_MAIN);

并在Manifest中添加权限

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