Android 桌面快捷方式

Android 桌面快捷方式,第1张

Android 桌面快捷方式 Android 快捷方式

使用方式
ShortcutUtils.getInstance().addShortcut(this
                    		 , MainActivity2.class
                   			 , liveBundle
                   			 , "live_Id"
                   			 , "看直播"
                   			 , "看直播"
                    		, R.drawable.live)
                    .addShortcut(this
                            , MainActivity2.class
                            ,vodBundle
                            , "vod_Id"
                            , "看回放"
                            , "看回放"
                            , R.drawable.vod)
                    .build();
添加权限
     
     
     
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
ShortcutUtils工具类(直接使用)
public class ShortcutUtils {
    private static ShortcutUtils shortcutUtils;
    private List shortcutInfos;
    private Context mContext;

    public static ShortcutUtils getInstance() {
        if (shortcutUtils == null) {
            synchronized (ShortcutUtils.class) {
                if (shortcutUtils == null) {
                    shortcutUtils = new ShortcutUtils();
                }
            }
        }
        return shortcutUtils;
    }

    private ShortcutUtils() {
        shortcutInfos = new ArrayList<>();
    }

    
    public ShortcutUtils addShortcut(Context context, Class cls, Bundle bundle, String shortcutId, String shortLabel, String longLabel, @DrawableRes int resId) {
        if (shortcutUtils != null && shortcutInfos != null) {
            if (Build.VERSION.SDK_INT >= 25) {
            	mContext = context;
                Intent intent = new Intent(context, cls);
                intent.putExtra("shortcutArgument", bundle);
                intent.setAction(Intent.ACTION_VIEW);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(context, shortcutId)
                        .setShortLabel(shortLabel)
                        .setLongLabel(longLabel)
                        .setIcon(Icon.createWithResource(context, resId))
                        .setIntent(intent)
                        .build();

                shortcutInfos.add(shortcutInfo);
            }
        }
        return shortcutUtils;
    }


    
    public ShortcutUtils addShortcut(Context context, Intent intent, String shortcutId, String shortLabel, String longLabel, @DrawableRes int resId) {
        if (Build.VERSION.SDK_INT >= 25) {
            mContext = context;
            if (shortcutUtils != null && shortcutInfos != null) {
                ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(context, shortcutId)
                        .setShortLabel(shortLabel)
                        .setLongLabel(longLabel)
                        .setIcon(Icon.createWithResource(context, resId))
                        .setIntent(intent)
                        .build();

                shortcutInfos.add(shortcutInfo);
            }
        }
        return shortcutUtils;
    }

    
    public void build() {
        if (shortcutInfos != null && shortcutInfos.size() > 0 && mContext != null) {
            ShortcutManager systemService = mContext.getSystemService(ShortcutManager.class);
            systemService.setDynamicShortcuts(shortcutInfos);
        }
    }

}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5681041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存