定义初使化方法
在你的启动画面的onCreate方法里呼叫此初使化方法即可实现添加shortcuts的功能
private void initShortcuts() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
ArrayList<ShortcutInfo> shortcutInfos = new ArrayList<>();
Intent intent = getPackageManager().getLaunchIntentForPackage("com.zqunyan.zgwidget");
if (intent != null) {
intent.setAction(Intent.ACTION_VIEW);
ShortcutInfo info = new ShortcutInfo.Builder(this, "0")
.setShortLabel("ZGWidget")
.setIcon(Icon.createWithResource(this, R.mipmap.zg_widget))
.setIntent(intent)
.build();
shortcutInfos.add(info);
}
intent = getPackageManager().getLaunchIntentForPackage("com.mxtech.videoplayer.ad");
if (intent != null) {
intent.setAction(Intent.ACTION_VIEW);
ShortcutInfo info = new ShortcutInfo.Builder(this, "1")
.setShortLabel("MXPlayer")
.setIcon(Icon.createWithResource(this, R.mipmap.zg_account_64))
.setIntent(intent)
.build();
shortcutInfos.add(info);
}
shortcutManager.setDynamicShortcuts(shortcutInfos);
}
}
注意事项
- 动态加载或者静态添加的桌面Shortcuts,建议最多添加4个,虽然最多可以加5个,但有点影响布局美观。
- 调用外部应用只要找到他的 package 包名,借用getPackageManager().getLaunchIntentForPackage()就能取得主启动画面