官网 [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)
- 写在前面的话
- Java
- 基础
- Double的比较
- 小数怎么用二进制表示
- 多线程
- 并发和并行
- 线程池
- 线程池背景
- 线程池构造
- 任务阻塞队列
- Flutter
- 基础知识
- Dart基础
- Android
- 项目架构
- View
- 非UI线程更新View
- AlarmManager
- 对比postDelaryed和Timer
- Bitmap
- 加载100M的图片却不撑爆内存
- Bitmap压缩
- Bitmap局部解码
- 计算图片的内存占用
- Android动画
- Android动画类型
- Android动画原理
- 属性动画
- 帧动画
- 补间动画
- 使用动画的注意事项
- Android新特性
- 权限组
- Android23(Marshmallow)-6.0
- Android24(Nougat)-7.0
- Android26(Oreo)-8.0
- Android28(Pie)-9.0
- Android29(Q)-10.0
- AndroidX迁移
- Kotlin
- 关键字
- Kotlin操作符
- CoroutineScope
- Flow
- CoroutineException