精华内容
下载资源
问答
  • Android拥有系统权限,设置允许安装未知来源的应用
    万次阅读
    2018-06-26 17:53:49

    关于系统设置的代码,基本都在android.provider.Settings类中。仔细查看Settings类,可以找到如下的常量值:

            /**
            * Whether applications can be installed for this user via the system's
            * {@link Intent#ACTION_INSTALL_PACKAGE} mechanism.
            *
            * <p>1 = permit app installation via the system package installer intent
            * <p>0 = do not allow use of the package installer
            */
           public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
    

    根据翻译,猜测这个常量就是用来控制是否允许安装未知来源应用的。

       /**
         * 允许安装未知来源的应用
         */
        public static void allowUnKnowSrc(Context context){
            try {
                android.provider.Settings.Global.putInt(context.getContentResolver(),
                        android.provider.Settings.Secure.INSTALL_NON_MARKET_APPS,1);
            }catch (SecurityException e){
                //LogUtils.getInstance().d(e);
            }
        }

    用以上代码进行测试,果然是对的。其中的变量:1代表允许,如果换成0则代表禁止。
    其它的一些系统设置,比如系统时间时区的设置,系统屏幕亮度的设置等,都可以用以上的形式操作。在Settings类中找到相应的常量值即可。

    ps:要有系统权限,以及写系统设置的权限!

    更多相关内容
  • 当你的应用适配到8.0后,会检测是否允许未知来源系统,没有打开的话会弹框提示去打开
  • 未知来源应用权限   Android8.0的诸多新特性中有一个非常重要的特性:未知来源应用权限 以前安装未知来源应用的时候一般会弹出一个弹窗让用户去设置允许还是拒绝,并且设置为允许之后,所有的未知来源的应用都...

    未知来源应用权限

     

    Android8.0的诸多新特性中有一个非常重要的特性:未知来源应用权限

    以前安装未知来源应用的时候一般会弹出一个弹窗让用户去设置允许还是拒绝,并且设置为允许之后,所有的未知来源的应用都可以被安装。

    Android8.0的变化是,未知应用安装权限的开关被除掉,取而代之的是未知来源应用的管理列表,需要在里面打开每个应用的未知来源的安装权限。Google这么做是为了防止一开始正经的应用后来开始通过升级来做一些不合法的事情,侵犯用户权益。 
    当你的应用直接适配到Android8之后,内部启动应用安装是会被阻塞的,如果不处理好这个未知来源的权限,会导致应用根本无法更新,只能去应用市场重新下载。 

    适配android 8.0:

    1.需要在manifast.xml中ti添加一个权限:

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    2.由于这个quan权限不是运行权限,所以不能通过请求权限获取权限;要通过下面一行代码获取是否有权限,返回一个boolean类型,true有权限,falsewuqu无权限;

    getPackageManager().canRequestPackageInstalls();

    3.跳到设置页面进行设置,通过startActivityForResult的方法,返回设置结果;

        public void checkPermission(){
            boolean haveInstallPermission;
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                haveInstallPermission = getPackageManager().canRequestPackageInstalls();
                if(!haveInstallPermission){
                    //没有权限让调到设置页面进行开启权限;
                    Uri packageURI = Uri.parse("package:" + getPackageName());
                    Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);
                    startActivityForResult(intent, 10086);
                }else{
    
                    //有权限,执行自己的逻辑;
                   
                }
            }else{
                //其他android版本,可以直接执行安装逻辑;
               
            }
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
    
            if (resultCode == RESULT_OK && requestCode == 10086) {
                //返回权限后,执行自己的逻辑;
                
            }
        }

     

    展开全文
  • Android8.0未知来源应用安装权限处理

    千次阅读 2021-01-17 10:21:59
    Android 新版本的出现 ,适配Android8.0未知来源应用安装权限处理1、在清单文件中增加请求安装权限private void showChangCityDialog() {CustomDialog.Builder builder = new CustomDialog.Builder(mContext);...

    Android 新版本的出现 ,适配Android8.0未知来源应用安装权限处理

    1、在清单文件中增加请求安装权限

    private void showChangCityDialog() {

    CustomDialog.Builder builder = new CustomDialog.Builder(mContext);

    builder.setTitleStr("提示");

    builder.setBodysStr("安装应用需要打开未知来源权限,请去设置中开启权限");

    builder.setLeftbtnStr("取消");

    builder.setRightbtnStr("设置");

    builder.setLeftBtnColor(R.color.color_333333);

    builder.setrRightBtnColor(R.color.C6);

    builder.setOnClickListener(new CustomDialog.DialogOnItemClickListener() {

    @Override

    public void leftClick() {

    finish();

    }

    @Override

    public void rightClick() {

    //兼容8.0

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

    boolean hasInstallPermission = mContext.getPackageManager().canRequestPackageInstalls();

    if (!hasInstallPermission) {

    startInstallPermissionSettingActivity();

    } else {

    //再次执行安装流程,包含权限判等

    if (!TextUtils.isEmpty(appUrl)) {

    //再次启动安装流程

    installApk(appUrl);

    }

    }

    }

    }

    });

    builder.create().show();

    }

    复制代码

    /**

    * 跳转到设置-允许安装未知来源-页面

    */

    @RequiresApi(api = Build.VERSION_CODES.O)

    private void startInstallPermissionSettingActivity() {

    Uri packageURI = Uri.parse("package:" + BuildConfig.APPLICATION_ID);

    //注意这个是8.0新API

    Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);

    startActivityForResult(intent, 1);

    }

    复制代码

    92b9a7e19e8fd369501896373854c7c6.png

    展开全文
  • Android 新版本的出现 ,适配Android8.0未知来源应用安装权限处理 1、在清单文件中增加请求安装权限 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> private void ...

    Android 新版本的出现 ,适配Android8.0未知来源应用安装权限处理

    1、在清单文件中增加请求安装权限

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    
    private void showChangCityDialog() {
        
        CustomDialog.Builder builder = new CustomDialog.Builder(mContext);
        builder.setTitleStr("提示");
        builder.setBodysStr("安装应用需要打开未知来源权限,请去设置中开启权限");
        builder.setLeftbtnStr("取消");
        builder.setRightbtnStr("设置");
        builder.setLeftBtnColor(R.color.color_333333);
        builder.setrRightBtnColor(R.color.C6);
        builder.setOnClickListener(new CustomDialog.DialogOnItemClickListener() {
            @Override
            public void leftClick() {
                finish();
            }
    
            @Override
            public void rightClick() {
                //兼容8.0
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                    boolean hasInstallPermission = mContext.getPackageManager().canRequestPackageInstalls();
                    if (!hasInstallPermission) {
                        startInstallPermissionSettingActivity();
                    } else {
                        //再次执行安装流程,包含权限判等
                        if (!TextUtils.isEmpty(appUrl)) {
                            //再次启动安装流程
                            installApk(appUrl);
                        }
                    }
                }
            }
        });
        builder.create().show();
    }
    
    /**
     * 跳转到设置-允许安装未知来源-页面
     */
    @RequiresApi(api = Build.VERSION_CODES.O)
    private void startInstallPermissionSettingActivity() {
    
        Uri packageURI = Uri.parse("package:" + BuildConfig.APPLICATION_ID);
        //注意这个是8.0新API
        Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);
        startActivityForResult(intent, 1);
    
    }
    

    展开全文
  • 安装未知来源权限其实就是这货 Manifest.permission.REQUEST_INSTALL_PACKAGES,具体的修改代码方案已经在上篇 Android9.0/8.1/6.0 默认给系统 app 授予所有权限中提供了。这篇只是分析解题思路。 核心方法如下 if ...
  • Android8.0未知来源应用安装权限

    千次阅读 2019-06-01 11:40:21
    Android8.0的诸多新特性中有一个非常重要的特性:未知来源应用权限(危险权限) android6.0到android8.0之前安装未知来源应用的时候一般会弹出一个弹窗让用户去设置允许还是拒绝,并且设置为允许之后,所有的未知...
  • 在9.0 以前的设备中,安装未来来源的权限开关 可以在SettingsProvider.app中的 DateHelper.java中通过一个config.xml中的 开关打开 就可以了 但是9.0以后 就不行了 需要在AppOpsManager.java中给与权限 接下来看下...
  • 根据Cybernews的说法这些应用会寻求多项权限,而多数权限应用本身功能并不相关。其实在国内这类软件也并不缺乏,他们通常会要求我们授权各种各样的手机权限,以便窥窃我们手机中的隐私。例如在浏览器中搜索“手...
  • 安卓手机在安装软件的时候,总是会要求获取各种权限,除了一些必要权限外,有时还会索要一些敏感权限,如:电话、联系人等权限。工信部也在去年,展开了一次大规模的整顿,,现在很多软件拒绝了权限,也是可以使用的...
  • android 获取应用安装其他访问权限

    千次阅读 2020-07-30 17:04:26
    val packageURI: Uri = Uri.parse("package:" + context!!.packageName) val intent = Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI) startActivityForResult(intent, 100) ...
  • Android 11 允许安装未知来源权限 变动 一、部分机型兼容问题 最近在为Flutter端封装 下载apk并安装 的功能,众所周知,在安装之前我们要请求 ‘允许安装未知来源’ 这个权限,然后我就写了以下代码(部分代码) if ...
  • adb命令查看应用权限赋予情况

    千次阅读 2022-03-19 20:05:10
    adb命令查看应用权限赋予情况
  • 首先的问题是:Android “读取已安装应用列表”需要申请权限吗? 这里我先公布下答案:不需要 一个app无非实现一个团队或个人的商业价值和潜在可能,要是规模大的app,这种特征就非常明显。简而言之,这种权限请求...
  • 苹果Mac如何设置允许任何来源的应用程序安装?一起来看看吧。 1.在苹果电脑的程序坞,打开【终端】 2.在终端操作页面,输入如下命令【sudu spctl --master-disable】后,按回车键。 3.在终端输入账号登录密码并按...
  • 完美的适配Android8.0未知来源应用安装权限方案

    万次阅读 多人点赞 2017-12-26 21:41:22
    第二完美的适配Android8.0未知来源应用安装权限方案Android8.0的诸多新特性中有一个非常重要的特性:未知来源应用权限以前安装未知来源应用的时候一般会弹出一个弹窗让用户去设置允许还是拒绝,并且设置为允许之后,...
  • 尝试安装Microsoft签名的ClickOnce应用程序时,会显示一条错误消息“您的管理员已阻止此应用程序,因为它可能会对您的计算机造成安全风险”和“您的安全设置不允许安装应用程序你的电脑”。 作为设置所述策略的...
  • 由于Android M 更新了应用运行时权限的特性。 diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index...
  • 使用adb工具打开TCL电视的第三方应用安装权限

    万次阅读 热门讨论 2020-05-24 11:12:44
    使用adb工具打开TCL电视的第三方应用安装权限前言安装adb工具打开电视的adb调试开关abd工具打开电视权限 前言 新买的TCL电视往往默认是无法安装第三方应用的,即使用U盘安装了第三方应用应用也没有升级权限。另外...
  • Android8.0的诸多新特性中有一个非常重要的特性:未知来源应用权限 以前安装未知来源应用的时候一般会弹出一个弹窗让用户去设置允许还是拒绝,并且设置为允许之后,所有的未知来源的应用都可以被安装。 ...
  • 我们要在Mac系统上设置允许应用访问麦克风权限,macz小编整理了图文步骤: 1、在你的电脑,点击苹果图标,点击系统偏好设置。 2、点击安全性与隐私 3、点击隐私,找到左侧麦克风,点击左下角的小锁图标 4、输入...
  • 部分手机读取应用列表权限

    万次阅读 2018-08-08 15:20:39
    某型号小米手机关闭读取应用列表权限后仍然可以手机安装的第三方应用,华为手机关闭读取应用列表权限后不能读取第三方应用列表,只可以读取系统应用。由于没有对应的权限,查看源码也没有对应的方法可以确定开关的...
  • 这样让APP获取了我们的软件权限后,大家是不是觉得自己的手机都变得不安全了,所以我们有必要在安装软件之后,再对这一些APP进行权限限制,下面我们就来分享一下手机设置应用软件权限的方法,分为安卓和苹果手机的两...
  • 接到产品经理的预研需求,说希望获取用户已安装应用列表。这个问题应该不难,只要是要把相关的知识点整理和验证一下。对于获取用户已安装应用列表,我个人是很熟悉的,因为我的华为手机上,手机管家天天会在通知栏弹...
  • android11源码动态权限获取,自动赋予权限,修改动态权限级别,包括配置文件更改或者代码自动赋予
  • android 项目中怎么用代码判断手机的某项应用权限是否允许或者禁止,比如拍照权限,定位权限,,,这些权限在manifest 配置文件中多已经配置过了,
  • 使用PermissionsDispatcher进行程序管理,在程序运行过程中,申请权限和拒绝权限都不会出现问题,后来发现,在程序运行过程中,比如进入某个页面,然后点击home键,在设置中,选择该应用,关闭某个权限,再返回该...
  • 现在在做一个测试项目,每次recovery后打开播放器进行播放视频,这个过程是通PC下用ADB控制,现在遇到的问题是,recovery后打开应用需要允许有访问存储的权限,怎么通ADB控制,让应用允许呢,谢谢了。
  • WindowManager权限允许在其他应用之上

    千次阅读 2018-01-03 16:04:31
    在android6.0之前想要用WindowManager还蛮简单的,这是之前的方法但是改版之后因为安全的问题,  android 系统觉得开发者要放这种功能需要使用者”认真”的同意...以下程式码是说如果没有系统允许的话,就发送一个acti
  • 现在基本上每个安卓应用都有在线更新功能,应该很多人都知道7.0添加了文件夹限制访问的权限,主要就是拍照还有文件安装问题需要开发者去设置FileProvider 共享文件这里就不多讲了 ,今天主要讲的就是8.0的一些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 436,484
精华内容 174,593
关键字:

允许应用安装应用权限