当前位置:主页 > 移动开发 > Android代码 >

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);
  }

您可能感兴趣的文章:

相关文章