如何检测该用户已拒绝创建固定快捷方式的权限?
ShortcutManager 类中没有取消回调。
既然是系统对话框,有没有办法将权限调用为startActivityForResult并取回结果?像自定义活动 Gmail 示例:https
://developer.android.com/guide/topics/ui/shortcuts.html#pinned
以及
如何禁止重复的快捷方式。即使存在快捷方式,以下代码也会创建相同的快捷方式?
代码:
ComponentName cn = new ComponentName(context.getPackageName(),
"com.abc.SplashActivity");
ShortcutInfo pinShortcutInfo =
new ShortcutInfo.Builder(context, "unique-id").setShortLabel("UPI Shortcut").setIntent(getShortcutIntent()).setActivity(cn).build();
Intent pinnedShortcutCallbackIntent =
mShortcutManager.createShortcutResultIntent(pinShortcutInfo);
pinnedShortcutCallbackIntent.setAction(Intent.ACTION_MAIN);
pinnedShortcutCallbackIntent.putExtra("duplicate", false);
PendingIntent successCallback = PendingIntent.getBroadcast(context, 0,
pinnedShortcutCallbackIntent, 0);
mShortcutManager.requestPinShortcut(pinShortcutInfo,
successCallback.getIntentSender());
此外,此代码与 Pixel 模拟器完美配合,但拖动创建快捷方式特别不适用于Essential手机。拖动图标后,您到家时图标消失。