欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-10-28 19:56:58
/** * * 创建快捷方式 * @param map 快捷方式图标 * @param appname 快捷方式标题 * @para...
/**
	 * 
	 * 创建快捷方式
	 * @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);
  }