Android动态添加Shortcuts呼叫外部应用

定义初使化方法

在你的启动画面的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()就能取得主启动画面

猜你喜欢

转载自blog.csdn.net/ymtianyu/article/details/109798934