Android7.0以前的安装方式比较简单:

File apk = new File(...);Uri uri = Uri.fromFile(apk);Intent intent = new Intent();intent.setClassName("com.android.packageinstaller", "com.android.packageinstaller.PackageInstallerActivity");intent.setData(uri);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);

在高版本中,Android7.0 及以上,开放(暴露)私有数据的唯一方式是通过 ContentProvider 来实现。

具体的步骤大致如下:

  1. 配置 AndroidManifest.xml 中的 ContentProvider 信息;
  2. 配置要开放的 paths 信息;
  3. 在 Java 代码中通过 FileProvider 封装文件信息。

安装apk时需要将apk数据暴露给系统的安装进程

参考:

Android包管理机制(一)PackageInstaller的初始化
安卓java代码安装apk

Android之包安装PackageInstallerActivity相关推荐

  1. bundletool工具使用(Android aab包安装)-Google play上架

    如果对"哆啦安全"感兴趣的可以扫二维码关注微信公众号,该公众号每天都会持续更新干货文章! APK再见了,Android正式宣布全新APP安装格式AAB https://github ...

  2. Android测试包安装方式汇总

    背景:作为一名测试,尤其是移动端测试,掌握app的安装方式是必备的基本技能,因此将Android测试包不同格式不同方式的安装方式进行一个总结分享​,仅供大家学习参考. 一.设备调试准备 1.设备打开开 ...

  3. 与程序员相关的 android apk包安装时提示 “应用未安装” 的原因

    情景:机器上已经安装了一个版本 如果调用系统的安装流程,进行apk包的重新安装,即,安装apk是通过系统弹出如下弹窗 安装apk. 如果出现提示 "应用未安装" 如图: 莫慌,不一 ...

  4. 【Android 逆向】应用安装目录 ( Android 应用的默认安装目录 | 查找 Android 应用的安装目录 | 查询当前正在运行的应用包名 | 根据包名查询应用安装路径 )

    文章目录 一.Android 应用的默认安装目录 二.查找 Android 应用的安装目录 1.查询当前正在运行的应用包名 2.根据包名查询应用安装路径 一.Android 应用的默认安装目录 应用安 ...

  5. 如何在Android模拟器上安装和卸载APK程序包

    如何在Android模拟器上安装和卸载APK程序包 Android, 程序包, APK, 卸载, 模拟 一,安装APK          安装APK当然首先是要有模拟器,和要安装的APK包,这个不多废 ...

  6. android 应用更新安装时出现《 文件包与具有同一名称的现有文件包冲突》小记录

    前言:实现应用自动下载更新时,在安装时出现"文件包与具有同一名称的现有文件包冲突"的错误. 因为适配7.0以上获取内置路径的适配,添加了配置一些配置: <provideran ...

  7. android studio release包安装后打不开,debug包安装正常怎么解决

    很多朋友都是团队进行开发的,所以免不了代码需要提交,并且要打包给测试,以及发布版本. 而做过开发的都知道,打包版本一般分为debug版本,release版本,其中release版本体积比较小,是可以发 ...

  8. 安卓游戏数据包 android文件夹将被替换 可以同意么,安卓游戏数据包放哪里位置?安卓游戏数据包安装的注意事项...

    安卓游戏数据包放哪里位置?安卓游戏数据包和安卓游戏本体虽然是两回事,但还是有一些大型游戏厂商将游戏数据包与本体APP集成在一起的,不过大部分大型安卓游戏需要用户自行下载数据包,且要放入指定位置. 安卓 ...

  9. 数据包覆盖Android,安卓数据包怎么安装 安卓游戏数据包安装教程

    安卓数据包怎么安装?安卓数据包放在哪?这是很多安卓单机游戏爱好者经常问的问题,下面小编就为各位玩家带来:安卓游戏数据包安装教程,诸如数据包存放好后,为什么还是不能正常玩都能为您解答~ 安卓数据包怎么安 ...

最新文章

  1. 接口冲突的一种解决方法
  2. PL/SQL Developer 连接远程oracle的方法
  3. Hadoop学习笔记(8) ——实战 做个倒排索引
  4. python 类函数 成员函数_python中的类函数、静态函数、成员函数以及类变量、成员变量...
  5. 机器人学习--感知环境数据集
  6. 2011年Android手机用户购买行为研究报告
  7. java 多线程生产者_java-Runnable加锁实现生产者和消费者的多线程问题
  8. 2021年企业直播营销研究报告
  9. poi 技术动态更新 Excel模板内容,动态更新内容
  10. 宽带和流量是分开的吗_宽带
  11. DATAGEAR统计报表简单教学
  12. 深信服AC1100上网行为管理
  13. Android6.0动态壁纸,全局透明动态壁纸
  14. Hive实现同比环比计算
  15. 使用HTML实现图片切换/轮播
  16. 中国有句俗语叫“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”,即打鱼三天,然后再晒网两天。问这个人在以后的某一天中是在打鱼还是在晒网
  17. excel表格横向纵向变换_Excel新手最容易给自己挖的几个坑,手把手教你完美避雷!...
  18. 小猪佩奇代码 Python
  19. 梯度下降算法笔记整理6 - 梯度下降 偏导数及其几何意义
  20. 已入职今日头条!并附上8面面经

热门文章

  1. eclipse简单搭建springboot,还不会来敲我狗头。
  2. 编程day01-装13问题(十进制->二进制)
  3. 英语知识点整理day11-谚语学习(C字母开头)
  4. python自动截图网页_Python 实现网页自动截图
  5. XML Parsing Error: mismatched tag. Expected
  6. 二进制相减,不够减, 即小数减大数
  7. 零基础 Java 自学之路(2021年最新版)
  8. python爬取网站上所有诗句(第三版)
  9. HDU 3177 Crixalis's Equipment (贪心)
  10. 千万别在win10 64安装Cadence16.5 坑的一笔