Android 跳转“安装未知应用权限界面”,并且只显示当前应用的设置项

小弟初入Android开发,第一个Android项目中遇到一个问题:跳转“安装未知应用权限界面”时,发现不知如何才能做到只显示当前应用的选项,其他应用的设置项不要显示出来,不然太多了用户都很难找,

以下这张图是目前跳转到“安装未知应用权限界面”,跳转后显示了所有的应用设置项,都不好找当前应用的设置项

以下是小弟跳转“未知应用权限界面”的代码

    /**

     * 开启设置安装未知来源应用权限界面

     *

     * @param context

     */

    public static void startInstallPermissionSettingActivity(Context context) {

        if (context == null) {

            return;

        }

        Intent intent = new Intent();

        if (Build.VERSION.SDK_INT >= 26) {

            intent.setAction(android.provider.Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);

        }else {

            intent.setAction(android.provider.Settings.ACTION_SECURITY_SETTINGS);

        }

        ((Activity) context).startActivityForResult(intent, REQUEST_CODE_INSTALL_SETTING_UNKNOW_APP);

        ToastUtils.showLong("请开启未知应用安装权限");

    }

以下是小弟后来在度娘上找到的解决方案:

先贴出答案来源,感谢以下那位助我找到答案的大神,也分享给各位可能跟我一样遇到问题的朋友:

https://blog.csdn.net/feibendexiaoma/article/details/80093354

以下便是本人的修改后的效果图和代码

效果图:

修改后的代码:

    /**
     * 开启设置安装未知来源应用权限界面
     *
     * @param context
     */
    public static void startInstallPermissionSettingActivity(Context context) {
        if (context == null) {
            return;
        }
        Intent intent = new Intent();
        //获取当前apk包URI,并设置到intent中(这一步设置,可让“未知应用权限设置界面”只显示当前应用的设置项)
        Uri packageURI = Uri.parse("package:"+context.getPackageName());
        intent.setData(packageURI);
        //设置不同版本跳转未知应用的动作
        if (Build.VERSION.SDK_INT >= 26) {
            //intent = new Intent(android.provider.Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES,packageURI);
            intent.setAction(android.provider.Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
        }else {
            intent.setAction(android.provider.Settings.ACTION_SECURITY_SETTINGS);
        }
        ((Activity) context).startActivityForResult(intent, REQUEST_CODE_INSTALL_SETTING_UNKNOW_APP);
        ToastUtils.showLong("请开启未知应用安装权限");
    }

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值