Loading

Android 快捷方式相关操作

尽管现在少数手机不支持快捷方式,但是仍然有大部分手机是支持的。创建快捷方式,可以减少用户在应用列表繁多的应用程序中查找应用的时间,快速进入应用;或是应用中的某个功能使用频率较高,创建快捷方式,可以快速使用此功能;

自动创建快捷方式:

1.添加快捷方式所需的权限:com.android.launcher.permission.INSTAL_SAHORTCUT

1 <!--添加快捷方式需要的权限  -->  
2 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> 

2.生成快捷方式:

  /**
     * 为程序创建桌面快捷方式
     */
    private void addShortcut() {

        //向桌面添加快捷方式的Intent
        Intent shortcutIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

        // 快捷方式的名称
        shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));

        // 快捷方式的图标
        Intent.ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher);
        shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);

        // 不允许重复创建
        shortcutIntent.putExtra("duplicate", false);

        // 设置待启动程序,页面相关参数
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        String pkgName = getPackageName();
        intent.setComponent(new ComponentName(pkgName, pkgName + "." + getLocalClassName()));

        // 快捷方式要启动的程序
        shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);

        // 发送创建广播
        sendBroadcast(shortcutIntent);
    }

 

posted @ 2015-10-13 13:41  多啦宝宝  阅读(602)  评论(0编辑  收藏  举报