专栏名称: 郭霖
Android技术分享平台,每天都有优质技术文章推送。你还可以向公众号投稿,将自己总结的技术心得分享给大家。
目录
相关文章推荐
复利大王  ·  国产美女的热舞 ·  2 天前  
复利大王  ·  J小姐,死于话多 ·  2 天前  
复利大王  ·  花旗中国区总裁被裁了 ·  2 天前  
51好读  ›  专栏  ›  郭霖

Android7.0适配

郭霖  · 公众号  · android  · 2017-03-29 08:00

正文

请到「今天看啥」查看全文


最近在软件的维护和更新过程中,了解到一些关于Android7.0的适配,在这里和大家分享一下,据我所知,需要对Notification、拍照、图片的裁剪进行适配

Notification

关于 Android7.0 Notication 增加的特性,在此我就不详细说明了,因为关于这类介绍的文章,早有一些大牛已经发布过了。我主要讲的是我在应用更新功能中使用 Notification 踩到的坑。可以这么说,应用更新功能对于每个上线App都必不少,因为App的需求或者功能,都是会在不断的变化和完善的。

我遇到的情况是:在 Android7.0 以下,以下代码是显示下载App新版本成功后的通知栏,点击可以跳转到安装App的页面:

以上代码,在 Android7.0 以下,可以实现点击通知栏拦跳转到安装App界面的功能,但是在安卓7.0或以上,点击事件就出现问题了,点击通知栏没有任何反应,通知栏也不会显示,但是会有error等级的log输出,出现 FileUriExposedException 这样的异常,原因是 Andorid7.0 的“私有目录被限制访问”,“StrictMode API 政策”。

由于从 Android7.0 开始,直接使用真实的路径的Uri会被认为是不安全的,会抛出一个 FileUriExposedException 这样的异常。需要使用 FileProvider,选择性地将封装过的Uri共享到外部。于是,需要对上面的代码进行修改:

以上代码增加了对系统版本的判断,如果是 Andorid7.0 或以上,则不再使用 Uri.fromFile()方法 获取文件的Uri,而是通过使用 FileProvider(support.v4提供的类) 的getUriForFile()。同时要添加多这么一行代码 installIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);







请到「今天看啥」查看全文