Android shortcut and delete shortcut implementation methods

  • 2020-06-23 01:52:43
  • OfStack


/**
	 * 
	 *  Create shortcuts 
	 * @param map  Shortcut icon 
	 * @param appName  Shortcut title 
	 * @param appUrl  Shortcut to open the address 
	 * @param iconUrl  Shortcut icon address 
	 * 
	 * */
	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);//  Sets whether to duplicate creation 
		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);//  Set up the first 1 A page 
		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);		
	}
	/**
	 * 
	 *  Delete shortcut 
	 * @param shortcutName app The name 
	 * @param className  The absolute path is as follows: 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);
  }


Related articles: