Intent addShortIntent = new Intent(ACTION_ADD_SHORTCUT); addShortIntent.putExtra("1111",false);//不能重复创建 addShortIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"测试"); addShortIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(MainActivity.this,R.mipmap.camera)); Intent launcherIntent = new Intent(Intent.ACTION_MAIN); launcherIntent.setClass(MainActivity.this,MainActivity.class); launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER); addShortIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,launcherIntent); sendBroadcast(addShortIntent);
用了以下代码创建方式没反应,有没有前辈可以指导下
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
ShortcutManager shortcutManager = (ShortcutManager) getSystemService(Context.SHORTCUT_SERVICE);
if (shortcutManager == null) {
return;
}
if (shortcutManager.isRequestPinShortcutSupported()) {
Intent shortcutInfoIntent = new Intent(context, HomeActivity.class);
shortcutInfoIntent.setAction(Intent.ACTION_VIEW);
shortcutInfoIntent.setData([data]);
ShortcutInfo info = new ShortcutInfo.Builder(context, [id])
.setIcon(Icon.createWithResource(context, [图标资源id]))
.setShortLabel([名字])
.setIntent(shortcutInfoIntent)
.build();
PendingIntent shortcutCallbackIntent = PendingIntent.getBroadcast(context, 0, shortcutInfoIntent, PendingIntent.FLAG_UPDATE_CURRENT);
shortcutManager.requestPinShortcut(info, shortcutCallbackIntent.getIntentSender());
}
}