Android中创建快捷方式及删除快捷方式实现方法
时间:2020-12-10 08:53:17|栏目:Android代码|点击: 次
/** * * 创建快捷方式 * @param map 快捷方式图标 * @param appName 快捷方式标题 * @param appUrl 快捷方式打开的地址 * @param iconUrl 快捷方式图标地址 * * */ public static void createShortcut(Context activity ,Bitmap map ,String appName ,String appUrl ,String iconUrl){ Intent shortcut = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,appName); shortcut.putExtra("duplicate", false);// 设置是否重复创建 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW) ; // intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) ; intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) ; intent.setClass(activity, WebViewActivity.class);// 设置第一个页面 intent.putExtra("keyword", appUrl); intent.putExtra("appName", appName) ; intent.putExtra("iconUrl", iconUrl) ; shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent); shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON, map); activity.sendBroadcast(shortcut); } /** * * 删除快捷方式 * @param shortcutName app名字 * @param className 绝对路径如:getPackageName() + ".WebViewActivity" * * */ public static void removeShortcut(Context cxt, String shortcutName, String className) { Intent shortcutIntent = new Intent(Intent.ACTION_VIEW); shortcutIntent.setClassName(cxt, className); Intent intent = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT"); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, shortcutName); cxt.sendBroadcast(intent); }