美文网首页android收录
Android7.0系统新特性

Android7.0系统新特性

作者: 徐大哈_401d | 来源:发表于2018-05-14 10:42 被阅读17次

在android7.0上,我们需要在应用内实现更新apk并且安装包的时候,无法再像之前那样了。随着Android版本越来越高,Android对隐私的保护力度也越来越大。比如:Android6.0引入的动态权限控制(Runtime Permissions),Android7.0又引入“私有目录被限制访问”,“StrictMode API 政策”

“私有目录被限制访问“ 是指在Android7.0中为了提高私有文件的安全性,面向 Android N 或更高版本的应用私有目录将被限制访问。

" StrictMode API 政策" 是指禁止向你的应用外公开 file:// URI。 如果一项包含文件 file:// URI类型 的 Intent 离开你的应用,应用失败,并出现 FileUriExposedException 异常。

7.0安装apk

1.在AndroidManifest中注册FileProvide

2.在xml文件夹中创建file_paths文件,来声明可以访问的路径

name是代表别名,用来隐藏文件夹,path才是真实的子目录路径

FileProvider所支持的几种path类型

<files-path name="name" path="path">

该方式提供在应用的内部存储区的文件/子目录的文件。它对应Context.getFilesDir返回的路径:eg:"/data/data/包名/files"。

<cache-pathname="name" path="path">

该方式提供在应用的内部存储区的缓存子目录的文件。它对应getCacheDir返回的路径:eg:“/data/data/包名/cache”;

<external-path name="name" path="path">

该方式提供在外部存储区域根目录下的文件。它对应Environment.getExternalStorageDirectory返回的路径:eg:"/storage/emulated/0";

<external-files-path name="name" path="path">

该方式提供在应用的外部存储区根目录的下的文件。它对应Context.getExternalFilesDir(String)  Context.getExternalFilesDir(null)返回的路径。eg:"/storage/emulated/0/Android/data/包名/files"。

<external-cache-path name="name" path="path" >

该方式提供在应用的外部缓存区根目录的文件。它对应Context.getExternalCacheDir()返回的路径。eg:"/storage/emulated/0/Android/data/包名/cache"。

这些类型在Android手机内部存储区文件共享是可以的,但对于外置SD卡是不行的,如果你想通过FileProvider.getUriForFile()获取一个外置SD卡的Uri则会报出 

java.lang.IllegalArgumentException- Failed to find configured root that contains

解决办法是在file_paths文件中添加<root_path />节点

最后,安装apk的方法

官方文档地址:

https://developer.android.google.cn/reference/android/support/v4/content/FileProvider

相关文章

  • Android7.0系统新特性

    在android7.0上,我们需要在应用内实现更新apk并且安装包的时候,无法再像之前那样了。随着Android版...

  • Android进阶之光——Android7.0新特性

    Android 7.0新特性 Android7.0 主要新特性概述 多窗口模式 Data Saver 改进的Jav...

  • Android7.0 适配心得

    Android7.0发布已经有一个多月了,Android7.0在给用户带来一些新的特性的同时,也给开发者带来了新的...

  • Android7.0适配

    Android7.0发布已经有一个多月了,Android7.0在给用户带来一些新的特性的同时,也给开发者带来了新的...

  • Android7.0适配教程,心得

    Android7.0发布已经有一个多月了,Android7.0在给用户带来一些新的特性的同时,也给开发者带来了新的...

  • Android: Manifest merger failed

    问题 :在Android7.0系统使用Intent跳转到APK安装时候遇到的错误 了解:Android7.0 系统...

  • android7.0/7.1新特性小结

    多窗口 在android7.0中原生提供了多窗口模式和画中画模式,多窗口模式将屏幕分为上下或左右两块区域分别显示两...

  • Android 版本兼容问题集锦(1)

    PopupWindow在Android7.0系统中显示位置错误 Android7.0之前,在指定位置弹出popup...

  • Android7.0新特性——FileProvider的使用

    前言 记得刚学java的时候,那个体育老师就告诉我们在java的世界里万物皆对象。没错,我的java是体育老师教的...

  • iOS系统新特性

    IOS5的新特性iCloud定制UIStoryboardARCCoreImagel滤镜新增Json解析类 IOS6...

网友评论

    本文标题:Android7.0系统新特性

    本文链接:https://www.haomeiwen.com/subject/ayjddftx.html