这个问题听起来可能是重复的,但我发现没有答案有效:
我已经解决了这些问题:
但是建议的解决方案不起作用。
我使用了以下解决方案,该解决方案适用于 API 级别 < 23
Intent shortcutIntent = new Intent(context,
LedgerDetailActivity.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, ledgerBean.getName());
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.ic_action_comments));
addIntent.setAction("android.intent.action.CREATE_SHORTCUT");
addIntent.putExtra("duplicate", false);
context.sendBroadcast(addIntent);
添加权限:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
但上述解决方案并非适用于所有设备,有时会提供如下奇怪的功能:
- 在某些设备中,例如 Samsung Edge(使用 Android N),未创建快捷方式
- 在我的 Android 7.1 (Android N) 模拟器中,只创建了一个快捷方式
谁能帮帮我,这个功能没有官方文档,请不要与Android N中引入的App快捷方式混淆。我需要主屏幕的快捷方式。