1. 创建快捷方式
// 创建快捷方式的Intent
Intent shortcutintent = new Intent(
"com.android.launcher.action.INSTALL_SHORTCUT");
// 不允许重复创建
shortcutintent.putExtra("duplicate", false);
// 需要现实的名称
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
getString(R.string.app_name).trim());
// 快捷图片
// ShortcutIconResource iconResource =
// Intent.ShortcutIconResource.fromContext(getApplicationContext(),
// R.drawable.icon);
Parcelable par = Intent.ShortcutIconResource.fromContext(
getApplicationContext(), R.drawable.icon);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, par);
// 点击快捷图片,运行的程序主入口
Intent runIntent = new Intent(getApplicationContext(),
LogoActivity.class);
runIntent.setAction(Intent.ACTION_MAIN);
runIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
runIntent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
runIntent.addCategory(Intent.CATEGORY_LAUNCHER);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, runIntent);
// 发送广播。OK
sendBroadcast(shortcutintent);
2. 卸载快捷方式
Intent shortcut = new Intent(
"com.android.launcher.action.INTENT_ACTION_UNINSTALL_SHORTCUT");
// 快捷方式的名称 www.2cto.com
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,
this.getString(R.string.app_name));
// 指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
// 注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式
String appClass = "";
ComponentName comp = new ComponentName("",
appClass);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
Intent.ACTION_MAIN).setComponent(comp));
// 发送卸载快捷方式的图标
sendBroadcast(shortcut);