千家信息网

Android如何实现桌面快捷方式

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍了Android如何实现桌面快捷方式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Android 快捷方式使用方式Sh
千家信息网最后更新 2025年02月05日Android如何实现桌面快捷方式

这篇文章主要介绍了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工具类(直接使用)

/** * Android 快捷方式工具类 * Build.VERSION.SDK_INT >= 25 * API25以上可用 * setShortLabel 设置短标题 * setLongLabel  设置长标题 * setIcon       设置icon * setIntent     设置Intent * @author renquan * @date 2021年12月27日 */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<>();    }    /**     * 设置Class对象     * 所有参数不能为空     * @param context     * @param cls     * @param bundle     * @param shortcutId     * @param shortLabel     * @param longLabel     * @param resId     * @return     */    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;    }    /**     * 设置Intent对象     * 所有参数不能为空     * @param context     * @param intent     * @param shortcutId     * @param shortLabel     * @param longLabel     * @param resId     * @return     */    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;    }    /**     * 构建Shortcuts     */    public void build() {        if (shortcutInfos != null && shortcutInfos.size() > 0 && mContext != null) {            ShortcutManager systemService = mContext.getSystemService(ShortcutManager.class);            systemService.setDynamicShortcuts(shortcutInfos);        }    }}

感谢你能够认真阅读完这篇文章,希望小编分享的"Android如何实现桌面快捷方式"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0