效果如图,构建快捷方式菜单
//①、创建动态快捷方式的第一步,创建ShortcutManager
ShortcutManager scManager = (ShortcutManager) getApplicationContext().getSystemService( Context.SHORTCUT_SERVICE);
//②、构建动态快捷方式的详细信息
ShortcutInfo scInfoOne = new ShortcutInfo.Builder(getApplicationContext(), "one111")
.setShortLabel("Dynamic net")
.setLongLabel("go to baidu")
.setIcon(Icon.createWithResource(getApplicationContext(), R.drawable.heart))
.setIntent(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.baidu.com")))
.build();
ShortcutInfo scInfoTwo = new ShortcutInfo.Builder(getApplicationContext(), "one222")
.setShortLabel("Dynamic Activity")
.setLongLabel("to open dynamic one activity")
.setIcon(Icon.createWithResource(getApplicationContext(), R.drawable.heart))
.setIntents(new Intent[]{
new Intent(Intent.ACTION_MAIN, Uri.EMPTY, getApplicationContext(), MainActivity.class).
setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
//加该FLAG的目的是让MainActivity作为根activity,清空已有的任务
// new Intent(DynamicASOneActivity.ACTION)
})
.build();
//③、为ShortcutManager设置动态快捷方式集合
scManager.setDynamicShortcuts( Arrays.asList(scInfoOne, scInfoTwo));
//如果想为两个动态快捷方式进行排序,可执行下面的代码
ShortcutInfo dynamicWebShortcut = new ShortcutInfo.Builder(getApplicationContext(), "one111")
.setRank(0)
.build();
ShortcutInfo dynamicActivityShortcut = new ShortcutInfo.Builder(getApplicationContext(), "one222")
.setRank(1)
.build();
//④、更新快捷方式集合
// scManager.setDynamicShortcuts( Arrays.asList(dynamicWebShortcut, dynamicActivityShortcut) );
scManager.updateShortcuts(Arrays.asList(dynamicWebShortcut, dynamicActivityShortcut));