使用Android快捷方式功能创建快捷方式,但将其从应用程序小部件列表中排除

时间:2019-05-13 18:31:03

标签: android android-widget shortcut

我的应用程序允许用户创建快捷方式以从设备主屏幕访问特定屏幕 这可以很好地工作,但是问题是这会自动向应用程序的小部件列表中添加一个新条目。当然,这个新添加的小部件无法正常工作。 是否可以创建快捷方式而不将其添加到“小部件”列表中?

我正在使用此权限

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

并将此过滤器添加到“我的活动”清单中

    <intent-filter>
        <action android:name="android.intent.action.CREATE_SHORTCUT" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

然后是快捷方式创建代码

private void ShortcutIcon(){

    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, "Test");
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
    addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    getApplicationContext().sendBroadcast(addIntent);
}

0 个答案:

没有答案