添加、删除桌面快捷图标

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dangnianmingyue_gg/article/details/66552416

使用下面的方法即可添加桌面快捷图标

// 创建快捷方式
    private void installShortcut() {
        boolean isCreated = PrefUtils.getBoolean("is_shortcut_created", false,
                this);

        if (!isCreated) {
            Intent intent = new Intent();
            intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
            intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "小卫士图标");// 快解方式名称
            intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory
                    .decodeResource(getResources(), R.drawable.home_apps));// 快解方式图标
            // 不重复创建快捷方式图标。  
                //intent.putExtra("duplicate", false); 
            // 跳到主页面
            Intent actionIntent = new Intent();
//若有splash界面时,需要跳转到主界面,这时不能用actionIntent.setAction(Intent.ACTION_MAIN);
        actionIntent.setAction("com.example.mobilesafe66.HOME");
            // 设置关联程序
            intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, actionIntent);

            sendBroadcast(intent);

            PrefUtils.putBoolean("is_shortcut_created", true, this);
        }

    }

同时还必须添加下面的权限

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

移除快捷图标的方法:

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.UNINSTALL_SHORTCUT" />

猜你喜欢

转载自blog.csdn.net/dangnianmingyue_gg/article/details/66552416