多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
官网 [Android Nougat预览](https://developer.android.com/about/versions/nougat) 项目中的 `targetSdkVersion` 改为 `24(7.0)` 或者 `25(7.1)` 。 [TOC] ## 文件共享权限 为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问。 > 在官方7.0的以上的系统中,尝试传递`file://URI`可能会触发`FileUriExposedException`。 要在应用间共享文件,您应发送一项`content://`URI,并授予 URI 临时访问权限。进行此授权的最简单方式是使用 [FileProvider](https://developer.android.com/reference/android/support/v4/content/FileProvider) 类。如需了解有关权限和共享文件的详细信息,请参阅 [共享文件](https://developer.android.com/training/secure-file-sharing)。 申明自定义的 `provider` : ```xml <provider android:name=".common.provider.XXXFileProvider" android:authorities="com.wuba.bangjob.file_provider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/xxx_file_paths" /> </provider> ``` `XXXFileProvider` 可以是空实现: ```java public class ZCMFileProvider extends FileProvider {} ``` 编写 `xxx_file_paths` : ```xml <?xml version="1.0" encoding="utf-8"?> <paths> <root-path name="root_path" path="." /> </paths> ``` 详细讲述可以参考**鸿洋大神**的 [Android 7.0 行为变更 通过FileProvider在应用间共享文件吧](https://blog.csdn.net/lmj623565791/article/details/72859156) ## 后台优化 在 Android 7.0 中,我们删除了三个常用隐式广播 - [CONNECTIVITY_ACTION](https://developer.android.com/reference/android/net/ConnectivityManager#CONNECTIVITY_ACTION) - [ACTION_NEW_PICTURE](https://developer.android.com/reference/android/hardware/Camera#ACTION_NEW_PICTURE) - [ACTION_NEW_VIDEO](https://developer.android.com/reference/android/hardware/Camera#ACTION_NEW_VIDEO) 因为这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池。如果您的应用收到这些广播,请充分利用 Android 7.0 以迁移到`JobScheduler`和相关的 API。 ***** 文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦~!~! 想阅读作者的更多文章,可以查看我 [个人博客](http://dandanlove.com/) 和公共号:![振兴书城](https://imgconvert.csdnimg.cn/aHR0cDovL3VwbG9hZC1pbWFnZXMuamlhbnNodS5pby91cGxvYWRfaW1hZ2VzLzEzMTk4NzktNjEyYzRjNjZkNDBjZTg1NS5qcGc?x-oss-process=image/format,png)