安卓在app中弹出apk的安装提示框,其实可以理解为一种使用Intent的进行apk文件的预览。
在Android7.0以前,我们使用如下方法:
从Android 7.0之后,系统禁止我们的应用对外部(跨越应用分享)公开"file://xxx",若使用"file://xxxx"格式共享文件则会报FileUriExposedException异常,这里我们使用FileProvider。
1.在 res/xml 目录下新建一个 filepaths.xml 文件(文件名自由定义),并添加子目录路径信息
在paths节点内部支持以下几个子节点,分别为:
- <root-path/> 代表设备的根目录 new File("/");
- <files-path/> 代表 context.getFilesDir()
- <cache-path/> 代表 context.getCacheDir()
- <external-path/> 代表 Environment.getExternalStorageDirectory()
- <external-files-path>代表 context.getExternalFilesDirs()
- <external-cache-path>代表 getExternalCacheDirs()
每个节点都支持两个属性: - name
- path
-
在AndroidManifest.xml文件的application节点添加provider
- android:resource 即上面新建的filepaths文件
3.打开安装apk
综上,完整的代码如下:
网友评论