| 关键词: 权限 文件 应用程序 一个 发送者 nbsp 问题 URI Android 如果 |
在开发 Android 应用时,总会涉及到获取打电话、地理位置、网络等敏感的用户信息的权限,在 Android 中,联系人、当前位置等这些敏感信息都是由 permissions 保护的,Android 6.0 Marshmallow(棉花糖)API 23 中使用了一种新的权限来代替目前的安装时 Permissions ,即: Android 中对于权限的区分主要有两种,即应用程序在 Dalvik 虚拟机上运行时所拥有的权限和在文件系统上读写的 linux 权限。 在实际开发中,我所碰到最痛苦的问题就是文件的共享,共享文件涉及到一个发送者的应用程序创建一个可访问的 URI,和接收者的应用程序从该URI读取数据流。 但在这个过程中,总会遇到两个很常见的问题:
OneAPM Mi 可以实时分析 APP 的慢交互和慢的事务等,还可以对 APP 的崩溃进行抓取、分析,从不同的维度分析崩溃,定位代码级别的问题,轻松实现Android 应用性能监控。
通过分析发现,是因为权限的原因,最后定位其简单的解决办法是使用外部存储,这样,所有的文件就是全局可读的。 在 Marshmallow 中, 正常情况下,不是在所有地方都需要这个权限,如果发送者和接收者都正常的工作,他们共享文件时没有什么危险和错误。但问题是,这两个应用程序都需要处理共享文件的权限,特别是发送者的应用程序使用外部存储设备,然后接收者仍需要访问的情况下;即使你正确的完成了这些,还是有其他的大量的应用程序,那些程序仍然需要使用外部存储共享。 通常情况下,我们会想办法如何正确的共享这些文件,但是 Google 都已经帮我们做了这些事情。共享文件的人应该阅读并遵循这些规则。同时,需要注意,如果你需要你的接收机端的应用程序获取一个 URI 的话,导致外部存储请求需 具体过程:1、 接收一个 URI。 2、 尝试查询元数据的URI。
3、 读取来自 URI 的文件。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|