Android应用创建桌面快捷图标

public static void addShortcut(Activity cx, String name) {
// TODO: 2017/6/25 创建快捷方式的intent广播
Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
// TODO: 2017/6/25 添加快捷名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
// 快捷图标是允许重复
shortcut.putExtra("duplicate", false);
// 快捷图标
Intent.ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(cx, R.mipmap.ic_launcher);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
// TODO: 2017/6/25 我们下次启动要用的Intent信息
Intent carryIntent = new Intent(Intent.ACTION_MAIN);
carryIntent.putExtra("name", name);
carryIntent.setClassName(cx.getPackageName(),cx.getClass().getName());
carryIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//添加携带的Intent
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, carryIntent);
// TODO: 2017/6/25 发送广播
cx.sendBroadcast(shortcut);
}

http://www.360doc.com/content/16/0920/00/26211242_592141735.shtml
注意事项: 在设置 EXTRA_SHORTCUT_INTENT时,添加和删除快捷方式的这个INTENT对象的ACTION属性必须设置为相同内容,才能声明删除和创建的快捷方式是一个,进行绑定

Android桌面快捷方式那些事与那些坑# Android桌面快捷方式那些事与那些坑
https://www.cnblogs.com/waylife/p/android-shortcut-summary.html

public void addshotcut(Context context, String sName, Intent actionintent, Intent.ShortcutIconResource shortcutIconResource, boolean allow) {
    Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
    shortcut.putExtra("duplicate", allow);
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, sName);
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, shortcutIconResource);
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, actionintent);
    context.sendBroadcast(shortcut);
}

public void deleshortcut(Context context, String sName, Intent actionintent, boolean allow) {
    Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, sName);
    shortcut.putExtra("duplicate", allow);
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, actionintent);
    context.sendBroadcast(shortcut);
}

你可能感兴趣的:(Android应用创建桌面快捷图标)