首页 > 代码库 > Android -- ShortCut

Android -- ShortCut

添加                                                                                   

添加快捷方式是向桌面应用(launcher)发送相关action的广播:

public static final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";

Code:

private void addShortcut(String name) {        Intent addShortcutIntent = new Intent(ACTION_ADD_SHORTCUT);        // 不允许重复创建        addShortcutIntent.putExtra("duplicate", false);// 经测试不是根据快捷方式的名字判断重复的    
// 名字        addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);        // 图标        addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,                Intent.ShortcutIconResource.fromContext(MainActivity.this,                        R.drawable.ic_launcher));        // 设置关联程序        Intent launcherIntent = new Intent(Intent.ACTION_MAIN);        launcherIntent.setClass(MainActivity.this, MainActivity.class);        launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);        addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);        // 发送广播        sendBroadcast(addShortcutIntent);    }

移除                                                                                   

action:

public static final String ACTION_REMOVE_SHORTCUT = "com.android.launcher.action.UNINSTALL_SHORTCUT";

Code:

private void removeShortcut(String name) {        Intent intent = new Intent(ACTION_REMOVE_SHORTCUT);        // 名字        intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);        // 设置关联程序        Intent launcherIntent = new Intent(MainActivity.this,MainActivity.class).setAction(Intent.ACTION_MAIN);        intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);        // 发送广播        sendBroadcast(intent);    }

 

权限                                                                                   

<!-- 添加快捷方式 -->    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />    <!-- 移除快捷方式 -->    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

我是天王盖地虎的分割线                                                             

Android -- ShortCut