android shortcut 创建与删除

来源:互联网 发布:医美去痘印 知乎 编辑:程序博客网 时间:2024/04/28 08:37

下面是主要步骤及主要代码:

第一步:权限,创建与删除,需要加入权限

 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
  <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

第二步:编写代码

public void deleteShortCut() {String DROP_SHORTCUT_ACTION = "com.android.launcher.action.UNINSTALL_SHORTCUT";Intent intent2 = new Intent(DROP_SHORTCUT_ACTION);// 指定要删除的shortcut名称intent2.putExtra(Intent.EXTRA_SHORTCUT_NAME, "sina1");String appClass2 = getPackageName() + "." + getLocalClassName();ComponentName component2 = new ComponentName(getPackageName(),appClass2);intent2.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent().setAction(Intent.ACTION_MAIN).setComponent(component2));sendBroadcast(intent2);}public void createShortCut() {String CREATE_SHORTCUT_ACTION = "com.android.launcher.action.INSTALL_SHORTCUT";Intent intent = new Intent(CREATE_SHORTCUT_ACTION);// 设置快捷方式图片intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(this,R.drawable.welcome));// 设置快捷方式名称intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "sina1");// 设置是否允许重复创建快捷方式 false表示不允许intent.putExtra("duplicate", false);// 设置快捷方式要打开的intent// 第一种方法创建快捷方式要打开的目标intentString appClass = getPackageName() + "." + getLocalClassName();ComponentName component = new ComponentName(getPackageName(), appClass);intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent().setAction(Intent.ACTION_MAIN).setComponent(component));// 发送广播sendBroadcast(intent);}


注意点:

1.重复创建,系统会用Toast提示:“sina1 快捷方式已经存在”

2 删除快捷方式后,可以再创建,不会提示 “sina1 快捷方式已经存在”,也表示删除成功

3 删除快捷方式后,桌面快捷方式还存在,有延迟,切换桌面后,快捷方式就不见了,不是没有删除成功

0 0
原创粉丝点击