本文共 2033 字,大约阅读时间需要 6 分钟。
创建方法:
/** @param context 当前content @param targetClass 快捷图标打开的界面 @param backClass 打开后按返回键返回的界面 @param shortCutId shortCut 唯一id @param shortCutIcon 桌面上显示的图标 @param shortCutLabel 桌面图标下方显示的文字 */ public static void AddShortCut(Context context, Class targetClass, Class backClass, String shortCutId, int shortCutIcon, String shortCutLabel) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { ShortcutManager shortcutManager = (ShortcutManager) context.getSystemService(Context.SHORTCUT_SERVICE); if (shortcutManager != null && shortcutManager.isRequestPinShortcutSupported()) { Intent shortcutInfoIntent = new Intent(context, targetClass); shortcutInfoIntent.setAction(Intent.ACTION_VIEW); ShortcutInfo info = new ShortcutInfo.Builder(context, shortCutId).setIcon(Icon.createWithResource(context, shortCutIcon)) .setShortLabel(shortCutLabel) .setIntent(shortcutInfoIntent) .build(); PendingIntent shortcutCallbackIntent = PendingIntent.getBroadcast(context, 0, new Intent(context, backClass), PendingIntent.FLAG_UPDATE_CURRENT); shortcutManager.requestPinShortcut(info, shortcutCallbackIntent.getIntentSender()); } } else { ToastUtils.show("设备不支持在桌面创建快捷图标!"); } }
调用:
//长按创建桌面快捷图标dicBtn.setOnLongClickListener(v -> { Utils.AddShortCut(getContext(), DictionaryActivity.class, MainActivity.class, "shorcut_dictionary", R.drawable.shorcut_dictionary, getResources().getString(R.string.shorcut_dictionary) ); return true;});
转载地址:http://blkbb.baihongyu.com/