安卓7.0安装的软件为什么安装不了8.0版本上
发布网友
发布时间:2022-12-21 04:17
我来回答
共1个回答
热心网友
时间:2023-07-10 19:31
Android 7.0 上安装apk android.os.FileUriExposedException问题如果你的系统版本是 8.0+,那你需要多加一个权限,否则无法跳转到安装页 sssss
如果安装报错,可能是临时文件访问路径没有配置,或者百度上找到的安装代码是旧版本的,7.0以后不在支持,文章最下面有适配的代码。android.os.FileUriExposedException: file:///storage/emulated/0/trgis/1511427343635.apk exposed beyond app through Intent.getData()
今天做自动更新的时候,自己下载好的apk安装包调用系统的安装服务就报错,很是郁闷,因为之前的代码是好着的,后来查了下资料,原来是Android N 7.0版本之后不支持之前的写法了,好了直接上解决方案。
1.在AndroidManifest.xml application标签中添加如下代码
android:name="android.support.v4.content.FileProvider"
android:authorities="你的包名.fileProvider"
android:grantUriPermissions="true"
android:exported="false">
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
注意authorities:你app的包名.fileProvider
grantUriPermissions:必须是true,表示授予 URI 临时访问权限
exported:必须是false
resource:中的@xml/file_paths是我们接下来要添加的文件
2.在res/xml下新建file_paths.xml<?xml version="1.0" encoding="utf-8"?>
name="files_root"
path="" />
注意path:需要临时授权访问的路径(.代表所有路径)
name:就是你给这个访问路径起个名字
3.适配AndroidN以前我们直接 Uri.fromFile(apkFile)构建出一个Uri,现在我们使用
FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + “.fileProvider”, apkFile);
BuildConfig.APPLICATION_ID直接是应用的包名Intent intent = new Intent(Intent.ACTION_VIEW);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
/* Android N 写法*/
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Uri contentUri = FileProvider.getUriForFile(MainActivity.this, BuildConfig.APPLICATION_ID + ".fileProvider", new File("apk地址"));
intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
} else {
/* Android N之前的老版本写法*/
intent.setDataAndType(Uri.fromFile(new File("apk地址")), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
startActivity(intent);
关注
如果有问题,请在下方评论,或者加群讨论 200909980
关注下方微信公众号,可以及时获取到各种技术的干货哦,如果你有想推荐的帖子,也可以联系我们的。
打开CSDN,阅读体验更佳
在电视终端上安装apk提示(INSTALL_FAILED_INVALID_URI)
在android盒子上插入U盘,出现了 /storage/6C32-2486的目录,这就是U盘的目录 然后命令行运行 pm install -r 6C32-2486/my.apk 报错:INSTALL_FAILED_INVALID_URI , 上网查了一下,有说是要打签名,其实签名已打好的 *是要输入完整路径: pm install -r /storage/6C32-2486/my.a...
继续访问
Android 8.0 解决不能自动安装APK问题(完美适配)
Android8.0之前 未知应用安装权限默认开启,如下图所示 Android8.0之后 未知应用安装权限默认关闭,且权限入口隐藏。 如何开启未知应用安装权限的入口,并设置允许安装? 1.在清单文件中添加权限 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>...
继续访问
关于Android8.0安装apk不自动安装问题
每次android推出新系统,就不可避免的带出来一些坑!造成此问题的因素有多种: 1.android本身开源,国内手机开发厂商众多,深度定制系统的不是一家两家,导致碎片化严重。 2.app竞争日趋白热化,公司要求的是速度,以至于996类型的公司随处可见,对质量却没有很好的把关 3.公司产品经理并不会考虑你app的健壮性和可持续性,他们要的是功能,美观,流程。 4.经常拿android和io
继续访问
热门推荐 Android 8.0安装apk
前一段时间在做App版本更新时,使用Android 8.0的手机测试发现一个问题:安装包下载完成之后,屏幕闪了一下并没有跳转到安装界面,使用8.0以下的手机并没有这个问题。 Android 8.0 Oreo 中,Google 移除掉了容易被滥用的“允许位置来源”应用的开关,在安装 Play Store 之外的第三方来源的 Android 应用的时候,竟然没有了“允许未知来源”的检查框,如果你还是
继续访问
Android8.0 安装apk
/** * 判断是否是8.0,8.0需要处理未知应用来源权限问题,否则直接安装 */ private void checkIsAndroidO() { if (Build.VERSION.SDK_INT >= 26) { boolean b = getPackageManager().canRequestPackageInstalls(); if...
继续访问
安装android到u盘安装程序,在u盘内安装android教程
你们知道在u盘内安装android吗?现在我们可以在u盘内安装安卓系统,虽然非常多人是一无所知,但是小编今天肯定能教会你们在u盘内安装android,下面就让我们看看在u盘内安装安卓系统吧。●教程第一步:制作U盘安装盘第1步,准备工作,需要一个U盘(容量不低于2G),并下载好以下两个软件:准备好U盘一个制做U盘启动用的UltraISOAndroid X86 4.4 RC2最新系统镜像(ISO格式)...
继续访问
Android8.0 版本更新无法自动安装问题解决
前言 前几天APP上线了个新版本,有部分用户反应在下载完安装包以后点击安装无反应。查了下这部分用户手机的系统的版本都是8.0+版本。因为太久没关注新版本特性,所以导致了这个问题的发生。 Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他无关应用。在应用权限设置的“特殊访问权限”中,加入了“安装其他应用”的设置。 实现 1.清单文件权限声明 &amp;lt;uses...
继续访问
android app安装apk,Android App更新安装APK
概要一般地, Android App 都会被要求在App内进行软件更新提示, 让用户下载apk文件, 然后更新安装新版本, 一般过程如下:检测是否有新版本下载新版本app apk文件安装新的apk通常我们将apk文件存放在外部存储上.然后将 文件路径传递给系统, 进行apk的安装.文件路径传递过程安装代码如下:Intent intent = new Intent(Intent.ACTION_VIE...
继续访问
android发现u盘自动安装apk,安卓自动识别U盘中APK文件并进行安装操作
最近项目中有个新需求,实现安卓APK的U盘升级。刚开始上网查找方法,踩了个大坑,方式是直接和USB设备建立连接,借助第三方库libaums识别U盘的文件系统,但是最新版的libaums库0.7.5版本在加载时出现各种错误,借助网络大神说的各种方法也没能调试成功,后来换了种实现方法,更简单,轻松解决问题。方法记录如下:思路:获取U盘的挂载路径,直接读写U盘,读取到U盘中指定APK文件后,安装APK。...
继续访问
Android 8.0安装apk的正确姿势
在8.0的系统版本中,安装apk时有一层膜,现在就要捅了它,不然就是一闪而过,安装不上。这层膜就是允许安装未知应用 在8.0中这个选项默认是false,只需要打开一次即可 1、manifest中添加权限 &lt;!-- 8.0安装未知应用来源 --&gt; &lt;uses-permission android:name="android.permission...
继续访问
Android无法安装apk,8.0未知来源应用安装权限
Android 新版本的出现 ,适配Android8.0未知来源应用安装权限处理 1、在清单文件中增加请求安装权限 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> private void showChangCityDialog() { CustomDialog.Builder builder = new CustomDialog.Builder(mContext);
继续访问
Android8.0以上及7.0以下(自动安装apk)处理
Android8.0以上及7.0以下(自动安装)处理 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_
继续访问
Android N 7.0、8.0 上自动安装apk问题
Android N 7.0 上安装apk问题android.os.FileUriExposedException: file:///storage/emulated/0/trgis/1511427343635.apk exposed beyond app through Intent.getData()今天做自动更新的时候,自己下载好的apk安装包调用系统的安装服务就报错,很是郁闷,因为之前的代码是
继续访问
android下载完成不能自动安装失败,android 8.0以上自动安装apk失败的解决问题
随着android 系统的不断更新和发展,针对应用的权限管理也是越来越严格。这可是坑坏了我们这些搬砖的程序员,因为在一些上架平台,都一一宣布,以后的android应用 targetSdkVersion 必须最小为26,也就是说应用是android 8.0。将targetSdkVersion提升到26后,也随之出现了很多问题。今天只是来说一下,android 8.0下载自动安装时碰见的不自动安装的问...
继续访问
android 8.0以上自动安装apk失败的解决问题
随着android 系统的不断更新和发展,针对应用的权限管理也是越来越严格。这可是坑坏了我们这些搬砖的程序员,因为在一些上架平台,都一一宣布,以后的android应用 targetSdkVersion 必须最小为26,也就是说应用是android 8.0。将targetSdkVersion提升到26后,也随之出现了很多问题。今天只是来说一下,android 8.0下载自动安装时碰见的不自动安装的问...
继续访问
Android app实现自更新和安装,权限检测适配Android6.0以下和Android6.0和Android7.0和Android8.0,9.0以及10.0总结篇
首先下载问文件需要在AndroidManifest.xml里添加SD卡读写权限,下面两个权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STO...
继续访问
QorIQ P1025Tower MPU模块开发方案.docx
...
SecretPie.exe
SecretPie.exe
最新发布 《通信原理与通信技术》课程教学大纲.docx
《通信原理与通信技术》课程教学大纲.docx
PL0源代码C语言版 (2).pdf
...
电视