Android 7.0 升级安装适配
来源:互联网 发布:淘宝店铺优惠券在哪里 编辑:程序博客网 时间:2024/05/18 00:57
Android7.0又加了好多权限。很烦人了。要改好多权限。
自动升级需要适配一下。记录一下吧
首先:
String filePath = Environment.getExternalStorageDirectory().getPath() + "/" + filename;File apkfile = new File(filePath);if (!apkfile.exists()) { showToast("安装文件未找到![M0009]"); return;}Intent i = new Intent(Intent.ACTION_VIEW);i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);这是前期必有的。
然后呢,就进入到关键的代码了
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { //判读版本是否在7.0以上 Uri apkUri = FileProvider.getUriForFile(act, "你的包名" + ".fileprovider", apkfile); //添加这一句表示对目标应用临时授权该Uri所代表的文件 i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); i.setDataAndType(apkUri, "application/vnd.android.package-archive"); } else { i.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive"); } startActivity(i);}再之后呢:要在你的manifest里面的application下加这些调用fileprovider:
<!--版本更新所要用到的 fileProvider 用于兼容7.0通知栏的安装--><provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> <!--元数据--> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_provider_paths"/></provider>然后在你程序目录的res文件夹下面创建xml文件夹。并在里面创建file_provider_paths.xml文件;
文件里面是长这个样子的
<resources> <paths> <external-path path="" name="myFile"></external-path> </paths></resources>还有一点需要注意的是在build文件下面一定要有application的id的
defaultConfig { applicationId "你的包名" minSdkVersion targetSdkVersion 25}
特大一下,好了。这样就可以。去试试你的升级是不是就可以用了。
记录一下,省的以后再忘了
阅读全文
1 0
- Android 7.0 升级安装适配
- 升级安装兼容7.0 Android N
- Android 静默升级,静默安装
- 升级覆盖安装apk过程中闪退bug的适配(Android)
- 升级覆盖安装apk过程中闪退bug的适配(Android)
- Android 7.0 app升级内部安装apk—FileProvider使用
- Android ADT插件的安装和升级
- android apk版本自动检测升级,安装
- android apk版本自动检测升级,安装
- android实现自动升级并安装打开
- Android app的升级更新,安装,启动
- Android系统应用静默升级/安装
- android实现自动升级并安装打开
- Android的APK升级以及下载安装
- android Accessibility 实现自动升级,安装
- Android系统应用静默升级/安装
- android实现自动升级并安装打开
- Android 7.0 无缝升级介绍
- js函数
- angularjs用repeat生成子model的方法
- centos 环境安装 及 thrift安装
- VMware vSphere Client管理下虚拟机的硬盘扩容
- Linux常用命令
- Android 7.0 升级安装适配
- 一例附加类型“LMSoft.FrameWork.Identity.ApplicationUser”的实体失败,因为相同类型的其他实体已具有相同的主键值错误的解决
- git clone,push,pull,fetch命令详解
- codeforce 3A
- 二维码工具类
- 如何使用GOOGLE高级搜索技巧
- 重装系统总失败?是否踩了UEFI+Legacy这颗雷?
- DSD: Regularizing Deep Neural Networks with Dense-Sparse-Dense 解析与实验
- 第18篇.linux系统安装