Android APP升级时解析程序包时出现问题

2023-05-16

一个新的测试机在自动下载升级安装更新版本APP时,报出“解析程序包时出现问题”错误。原因众说纷纭, 一番搜索,下面的回答比较全面:

Android install apk with Intent.VIEW_ACTION not working with File provider - Stack Overflow

简单总结:

1. 安卓7以下一般问题不大

2. 安卓7及以上需要使用FileProvider

3. 安卓7.1 需要在清单中增加 REQUEST_INSTALL_PACKAGES 权限

4. 安卓8  需要授权允许应用安装未知应用,在应用权限中设置。(此次问题)

另, 

1. 注意检查是否有外存储器的读写权限, 如果没有就无法正常下载程序。

2. 应用权限是否被允许"安装未知应用",可以如下这样判断, 坑:但targetSdkVersion需要至少为26,否则下面的方法永远返回false;

this.getPackageManager().canRequestPackageInstalls()

判断后可以帮助用户跳转到设置页面引导用户设置,也可以让用户自行通过系统设置的应用权限管理设置。

Intent unknownAppSourceIntent = new Intent()
.setAction(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES)
.setData(Uri.parse(String.format("package:%s",MainOneActivity.this.getPackageName())));

startActivityForResult(unknownAppSourceIntent, UNKNOWN_APP_INSTALL);

一些定制android系统高于安卓8不进行步骤四,也是可以安装的,而有些则不可以。 唉,安卓的碎片化~。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android APP升级时解析程序包时出现问题 的相关文章

随机推荐

  • Java中Collections.singleton方法起什么作用呢?

    转自 Java中Collections singleton方法起什么作用呢 xff1f 下文笔者讲述Collections singleton方法的功能简介说明 xff0c 如下所示 Collections singleton方法功能 返回
  • Java如何借助Stream流进行求和呢?

    转自 Java如何借助Stream流进行求和呢 xff1f list简介 集合就是把具有相同属性的东西放在一起 xff0c 也可以是容器 xff0c 把有关的东西都放进去 List是位于java util下的一个接口 xff0c 有序集合
  • Java JSON格式简介说明

    转自 Java JSON格式简介说明 下文笔者讲述java中JSON格式的相关简介说明 xff0c 如下所示 JSON简介说明 JSON JavaScript Object Notation 是一种轻量级的基于文本的数据交换格式 它采用完全
  • Java 如何使用Matcher.matches()匹配整个字符串呢?

    转自 Java 如何使用Matcher matches 匹配整个字符串呢 xff1f 下文讲述使用Matcher matches 匹配整个字符串的方法分享 xff0c 如下所示 Matcher matches 对整个字符串进行匹配 当整个字
  • Java中如何删除文件呢?

    转自 xff1a Java中如何删除文件呢 下文笔者讲述java中删除文件的方法分享 xff0c 如下所示 实现思路 借助File delete 方法即可实现文件删除操作 File delete语法 public boolean delet
  • Java中Random.nextInt()方法功能简介说明

    转自 Java中Random nextInt 方法功能简介说明 下文笔者将讲述Random nextInt 方法的功能简介说明 xff0c 如下所示 Random nextInt 方法功能 用于随机产生某个范围区间的整数 注意事项 Rand
  • Java中ArrayList之clone()方法的功能说明

    转自 Java中ArrayList之clone 方法的功能说明 下文讲述ArrayList中clone 方法的功能简介说明 xff0c 如下所示 ArrayList Clone 方法的功能简介 clone 方法的功能 用于复制一份Array
  • (附源码)计算机毕业设计SSM智慧小区团购系统

    项目运行 环境配置 xff1a Jdk1 8 43 Tomcat7 0 43 Mysql 43 HBuilderX xff08 Webstorm也行 xff09 43 Eclispe xff08 IntelliJ IDEA Eclispe
  • springboot如何使用soap协议的方式访问webService接口呢?

    转自 springboot如何使用soap协议的方式访问webService接口呢 xff1f 下文笔者讲述springboot采用soap协议的方式访问webService接口的方法分享 xff0c 如下所示 1 引入相应的jar包 lt
  • springboot-starter如何整合阿里云datahub呢?

    转自 springboot starter如何整合阿里云datahub呢 xff1f 下文笔者讲述springboot整合datahub的方法分享 如下所示 Datahub简介说明 DataHub的功能 xff1a 1 与大数据解决方案中K
  • Spring之@Qualifier注解简介及示例

    转自 Spring之 64 Qualifier注解简介及示例 下文笔者讲述 64 Qualifier注解功能简介及示例分享 64 Qualifier注解功能简介 功能1 使用bean名称注入DI属性 功能2 设置bean的名称 64 Qua
  • Docker学习一篇就够了

    Docker简介 Docker 是一个开源的应用容器引擎 xff0c 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中 然后发布到任何流行的Linux或Windows操作系统的机器上 也可以实现虚拟化 容器是完全使用沙箱机制 相互之
  • LocalDate与Date相互转换

    1 LocalDate转Date LocalDate date 61 LocalDate of 2006 07 26 ZoneId zone 61 ZoneId systemDefault Instant instant 61 date a
  • mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享

    摘要 下文将分享两种将字段中null值替换为指定值的方法分享 xff0c 如下所示 实验环境 sqlserver 2008 R2 例 create table test keyId int identity info varchar 30
  • C#调用RabbitMQ实现消息队列

    前言 我在刚接触使用中间件的时候 xff0c 发现 xff0c 中间件的使用并不是最难的 xff0c 反而是中间件的下载 xff0c 安装 xff0c 配置才是最难的 所以 xff0c 这篇文章我们从头开始学习RabbitMq xff0c
  • DataX踩坑2 | 定时任务crontab不执行或报错:/bin/sh: java: command not found

    前面两天写了一个DataX的增量同步脚本 xff0c 今天检查了一下发现定时任务没有执行成功 xff0c 数据并没有同步 以下为排查问题和解决方法 一 定时任务crontab不执行 脚本 xff08 测试用的可以设为每分钟一次 xff1a
  • Thread类的sleep()方法和对象的wait()方法区别

    sleep 方法 xff08 休眠 xff09 是线程类 xff08 Thread xff09 的静态方法 xff0c 调用此方法会让当前线程暂停执行指定的时间 xff0c 将执行机会 xff08 CPU xff09 让给其他线程 xff0
  • Altium Desinger - 推挤式布线

    版本 xff1a Altium Desinger 19 操作 xff1a 推挤式布线 推挤式布线方法 1 选用拉线工具 2 点击 34 Tab 34 3 Interactive Routing Options 34 Shift 43 R 3
  • (附源码)计算机毕业设计SSM智慧医疗系统

    项目运行 环境配置 xff1a Jdk1 8 43 Tomcat7 0 43 Mysql 43 HBuilderX xff08 Webstorm也行 xff09 43 Eclispe xff08 IntelliJ IDEA Eclispe
  • Android APP升级时解析程序包时出现问题

    一个新的测试机在自动下载升级安装更新版本APP时 xff0c 报出 解析程序包时出现问题 错误 原因众说纷纭 xff0c 一番搜索 xff0c 下面的回答比较全面 xff1a Android install apk with Intent