Android7.0版本影响开发的改进分析-创新互联-成都快上网建站

Android7.0版本影响开发的改进分析-创新互联

本文总结分析了Android7.0版本影响开发的改进。分享给大家供大家参考,具体如下:

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、做网站、成都外贸网站建设公司、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的正阳网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

低电耗模式

会对闹铃、GPS 和 Wi-Fi 扫描 产生限制.
可参考Optimizing for Doze and App Standby
使用GCM来发送和接受消息

后台优化

Android N 删除了三项隐式广播,隐式广播会在后台频繁启动已注册侦听这些广播的应用。 删除这些广播可以显著提升设备性能和用户体验.

侦听网络变化的主线程广播改为: CONNECTIVITY_CHANGE。
对所有应用都无法 发送和接受 ACTION_NEW_PICTURE 或 ACTION_NEW_VIDEO .

可以使用JobScheduler API ,更多参考后台优化

系统权限更改

为了提高私有文件的安全性,面向 Android 7.0或更高版本的App私有目录被限制访问(0700)。此设置可防止私有文件的元数据泄漏,如它们的大小或是否存在(状态)。此权限策略的更改有多重副作用:

私有文件的文件权限不应再由所有者放宽,为使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE而进行的此类尝试将触发SecurityException,会导致App崩溃的。

注:迄今为止,这种限制还不能完全执行。App仍可能使用原生API或File API来修改它们的私有目录权限。但是Google强烈反对放宽私有目录的权限。

传递软件包网域外的 file://URI可能给接收器留下无法访问的路径。因此传递file://URI会触发 FileUriExposedException。分享私有文件内容的推荐方法是使用FileProvider。

DownloadManager不再按文件名分享私人存储的文件。老的App在访问COLUMN_LOCAL_FILENAME时可能出现无法访问的路径。针对Android 7.0或更高版本开发的应用在尝试访问COLUMN_LOCAL_FILENAME时会触发 SecurityException。通过使用DownloadManager.Request.setDestinationInExternalFilesDir())或DownloadManager.Request.setDestinationInExternalPublicDir())将下载位置设置为公共位置的老App仍可以访问COLUMN_LOCAL_FILENAME中的路径,但是Google还是强烈反对使用这种方法。访问由DownloadManager公开的文件的选方式是使用ContentResolver.openFileDescriptor())。

应用间共享文件

对于针对Android 7.0的应用,Android framework执行的StrictMode API禁止向你的App外公开file://URI。如果一个包含文件URI的Intent发送到你的应用之外,App会发生FileUriExposedException异常。

若要在应用间共享文件,您应发送一项content://URI,并授予URI临时访问权限。进行此授权的最简单方式是使用FileProvider类。如需有关权限和共享文件的更多信息,请参阅共享文件。

解决 Android N 上 安装Apk时报错:android.os.FileUriExposedException:

在AndroidManifest.xml中添加如下代码


  
 


网页名称:Android7.0版本影响开发的改进分析-创新互联
网站链接:http://kswjz.com/article/cspood.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流