·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> Android开发 >> Android中创建快捷方式及删除快捷方式实现方法

Android中创建快捷方式及删除快捷方式实现方法

作者:佚名      Android开发编辑:admin      更新时间:2022-07-23
/**
	 * 
	 * 创建快捷方式
	 * @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);
  }