官网 [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)