代码如下:



写道




/**

* 创建快捷方式

*/

private void createShortCut() {


Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "创建快捷方式");

shortcut.putExtra("duplicate", false); // 不允许重复

ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this,R.drawable.icon);// 设置快捷方式的图标

shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);

// 定义shortcut点击事件

String action = "com.android.action.test";

Intent respondIntent = new Intent(this, this.getClass());

respondIntent.setAction(action);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, respondIntent);


sendBroadcast(shortcut);


}


需要权限:<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
卸载快捷方式:



写道




/**

* 卸载快捷方式

*/

void deleteShortcut() {

Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "卸载快捷方式"); //指定要卸载的快捷方式的名称

String action = "com.android.action.test";

String appClass = this.getPackageName() + "." + this.getLocalClassName();

ComponentName comp = new ComponentName(this.getPackageName(), appClass);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(action).setComponent(comp));


sendBroadcast(shortcut);


}