正文内容 评论(0)
安卓4.4 KitKat虽然已经发布很久了,还升级了好多次,但在浩如烟海的源代码中,依然隐藏着大量的新东西等待挖掘,比如第三方应用对SD卡的访问。
安卓系统手机有一套自己的存储管理制度:几乎任何类型的存储设备都被称为“外部存储”(external storage),包括内部的NAND闪存,这个叫做“主要存储”(primary storage),而其他的一切都是“次要存储”(secondary storage),比如SD卡。
随着安卓系统的不断升级,第三方应用对存储的访问权限控制经过了多次调整,详细三说起来就复杂了,这里重点说最早、最常用的写入要求权限“WRITE_EXTERNAL_STORAGE”,它可以让应用写入主要存储(内置闪存),但不能写入次要存储(SD卡)。
安卓4.4里边,对于对所有外部存储,其上的文件属性都改为基于文件夹结构,应用无需获取WRITE_EXTERNAL_STORAGE权限,即可在外部存储上管理与自己包名相关的文件夹。举例来说,如果应用的包名是name com.example.foo,那么外部存储上的Android/data/com.example.foo/文件夹就是它的了,可随意访问。
这其中也包括SD卡,第三方应用可以在上边创建一个属于自己的专区,随意读写、删除,就像在内置存储是各样。
除此文件夹之外的其他地方,第三方应用仍然会被严格限制,得不到写入和删除权限。
不过这也存在一个潜在风险:SD卡是可以随意插拔的,可以在电脑上访问,因此可能会导致泄密。
另外需要特别注意的是,应用卸载的时候,在SD卡上创建的相应文件夹、数据都会被同时完全删除,所以如果有照片、文档等个人资料,应当避免这么做。
最后,U盘等设备的访问控制不在本文讨论范围之内。
最后的最后,安卓系统有自己的标准,OEM厂商、ROM开发者又有各自的一套,经常不会严格遵循Google制定的规则,因此刚才说的种种不一定会出现在你的手机里。
本文收录在
#安卓
- 热门文章
- 换一波
- 好物推荐
- 换一波
- 关注我们
-
微博:快科技官方
快科技官方微博 -
今日头条:快科技
带来硬件软件、手机数码最快资讯! -
抖音:kkjcn
科技快讯、手机开箱、产品体验、应用推荐...