Android 开发 之 8.0应用安装权限(未知应用权限安装)

news/2025/1/12 9:42:35/

未知来源应用权限

 

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版本,可以直接执行安装逻辑;}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK && requestCode == 10086) {//返回权限后,执行自己的逻辑;}}

 


http://www.ppmy.cn/news/677746.html

相关文章

adb应用安装失败分析

1. adb安装应用的时候有时可能失败&#xff0c;报出如下失败信息&#xff1a; [100%]/data/local/tmp/map-20160831.apkpkg:/data/local/tmp/map-20160831.apk Failure[INSTALL_FAILED_ALREADY_EXISTS]2. 常见安装失败输出代码、含义及可能的解决办法如下: INSTALL_FAILED_ALRE…

【UWP开发】uwp应用安装失败

编译出了uwp应用.appx之后双击打开&#xff0c;报错你需要为此应用包而安装的新证书&#xff0c;或者是带有受信任证书的新应用包。系统管理员或应用开发人员可以提供帮助。证书链在不受信任的根证书中进行处理&#xff0c;但也在其中终止 (0x800B0109) 解决办法&#xff1a; …

Android 判断应用是否安装

方法一 使用抛出异常的方式判断&#xff0c;通过包名获取app的信息&#xff0c;当app不存在时&#xff0c;会抛出NameNotFoundException 异常&#xff0c;我们通过对异常的捕获&#xff0c;从而判断是否安装了该应用&#xff0c;代码如下&#xff1a; private boolean checkA…

广东IPTV 第三方APP应用安装(超简单)

1、需要安装的APP软件先行下载到U盘或microSD卡&#xff1b; 2、插入盒子打开&#xff0c;安装并打开文件管理软件&#xff0c;把APP复制或移动到盒子的系统卡上&#xff1b; 3、直接双击安装APP即可。 注意APP不能安装太多&#xff0c;盒子内存空间一般不大,很容易爆满&…

我们发现您的应用在用户同意隐私政策前申请获取用户个人信息(IMEI, 设备ID, 用户应用安装列表, MAC地址用户数据)

一、需求 解决应用上架问题 过度获取用户信息我们发现您的应用在用户同意隐私政策前申请获取用户个人信息&#xff08;IMEI, 设备ID, 用户应用安装列表, MAC地址用户数据&#xff09; 自"滴滴"事件后&#xff0c;为避免该类事件&#xff0c;App的上架变的严格起来。上…

使用adb工具打开TCL电视的第三方应用安装权限

使用adb工具打开TCL电视的第三方应用安装权限 前言安装adb工具打开电视的adb调试开关abd工具打开电视权限 前言 新买的TCL电视往往默认是无法安装第三方应用的&#xff0c;即使用U盘安装了第三方应用&#xff0c;应用也没有升级权限。另外&#xff0c;也无法通过沙发管家等应用…

Thinkphp6.0 多应用安装说明

附 如果不能下载 请到这里来 传送门 我先把框架丢上来吧 一个是刚下来没有扩展的,也就是单应用的 单应用.zip 下边这个是多应用的,安装好了扩展的 多应用.zip 接下来说说我是怎么搞的 按着文档的说明执行命令(记得安装 composer) composer create-project to…

华为手机应用安装错误码分析汇总

华为手机应用安装错误码分析汇总 在应用开发过程中经常会遇到应用安装失败的问题&#xff0c;今天就给大家分析一下一些华为手机上主要的安装错误码&#xff0c;帮助大家快速的解决应用安装问题。 1. 该安装包无效或不完整、该安装包与操作系统不兼容&#xff08;错误码&am…