安卓 4.4 为何要限制 SD 卡读写?
来源:互联网 发布:java反序列化漏洞修复 编辑:程序博客网 时间:2024/06/06 01:57
实际上这是个误解,当读完以下描述你会发现安卓4.4是加强了对SD卡的支持。
先定义几个术语,以避免二义性:
可以看出安卓对SD卡的支持是在逐步加强的,而产生“安卓4.4限制SD卡”这个误解的根源是在安卓4.4之前有很多手机厂商为了同时支持外部存储和SD卡改写了安卓系统,赋予了第三方应用完全读写SD卡的权限,到安卓4.4时,这些厂商又不得不遵守谷歌的要求关闭了这个权限。
需要说明的是,在安卓4.4里,系统应用(指有platform签名,或预装在/system/priv-app目录下的应用)可以通过使用WRITE_MEDIA_STORAGE权限获取完全读写SD卡的权限。
补充:为了保证读写SD卡的遗留应用(legacy applications)能正常工作,有些厂商会无视安卓4.4的原始设计,通过修改分组策略在安卓4.4上也赋予使用WRITE_EXTERNAL_STORAGE权限的程序完全读写SD卡的权限。
先定义几个术语,以避免二义性:
- 内部存储:指/data分区。
- 外部存储:指/sdcard分区。
- 合并存储:指/sdcard实际上指向/data分区的一个目录,两者在物理上共享存储空间。
- SD卡:指物理可移除的那个小存储卡片
安卓对SD卡的支持:
- 安卓2.1及之前的版本,不支持合并存储,SD卡作为外部存储,应用只能安装到内部存储。
- 安卓2.2起,不支持合并存储,SD卡作为外部存储,考虑到一些机型的内部存储比较小,所以增加了安装/移动应用到外部存储的功能。
- 安卓3.0起,支持并推荐使用合并存储方案。不采用合并存储方案的机型,仍然可以沿用之前版本的方案(参见上一条目)。对于采用了合并存储方案的机型,安装一个应用到外部存储等同于安装它到内部存储(所以界面上就没有"移动到外部存储/内部存储"选项了),手机仍然可以配备SD卡,但SD卡对于第三方应用来说是只读的,仅媒体文件可以通过MediaProvider暴露给用户和应用读取。
- 安卓4.4起,采用合并存储方案的机型,可以配备SD卡,第三方应用程序可以通过公开的API读写自己在SD卡上的私有数据区(类似于/data/data/[package name]或/sdcard/Android/data/[package name]的私有数据区),也可以通过公开的API读取SD上的其它文件。
可以看出安卓对SD卡的支持是在逐步加强的,而产生“安卓4.4限制SD卡”这个误解的根源是在安卓4.4之前有很多手机厂商为了同时支持外部存储和SD卡改写了安卓系统,赋予了第三方应用完全读写SD卡的权限,到安卓4.4时,这些厂商又不得不遵守谷歌的要求关闭了这个权限。
需要说明的是,在安卓4.4里,系统应用(指有platform签名,或预装在/system/priv-app目录下的应用)可以通过使用WRITE_MEDIA_STORAGE权限获取完全读写SD卡的权限。
补充:为了保证读写SD卡的遗留应用(legacy applications)能正常工作,有些厂商会无视安卓4.4的原始设计,通过修改分组策略在安卓4.4上也赋予使用WRITE_EXTERNAL_STORAGE权限的程序完全读写SD卡的权限。
另外针对sd卡的写权限 可以直接用sd卡路径+“ /Android/data/你应用的包名/” 这个路径来针对写入外置sd卡的操作
0 0
- 安卓 4.4 为何要限制 SD 卡读写?
- 兼容安卓4.4 SD卡读写文件
- 安卓6.0读写sd卡问题
- 安卓4.4限制外置SD卡写入权限的破解方法
- 安卓4.4限制外置SD卡写入权限的破解方法
- 安卓4.4限制外置SD卡写入权限的破解方法
- 安卓SD卡读写、String和byte转换
- 安卓开发之获取SD卡的读写权限
- Android 4.4 KitKat限制第三方应用的SD卡读写权限,怎么解决?
- 为什么 Android 4.4 KitKat 限制第三方应用的 SD 卡读写权限?
- 安卓读写SD卡和手机ROM空间里的文件
- [教程] 安卓5.0系统外置SD卡开启读写权限
- 如何使用安卓4.4的SD卡?
- 在安卓4.2.2的系统上,具有系统权限的应用不能读写SD卡
- SD卡分区教程 安卓手机SD卡分区
- Android 4.4 SD卡文件读写变化
- J2me读写SD卡
- sd卡读写操作
- Xcode 常用快捷键
- 详解Java中的注解
- 用通俗易懂的话说下hadoop是什么,能做什么
- 关于onConfigurationChanged以及onConfigurationChanged 未被调用的问题
- SVN Unable to connect to a repository at URL
- 安卓 4.4 为何要限制 SD 卡读写?
- java抽象类构造函数的含义
- swift 单利创建的几种方式
- Plugin is too old, please update to a more recent version
- 网络整理
- apk的查看
- 文鼎职称英语理工系统 v10.10.0官方版
- HorizontalScrollView 使用 实现textview和viewpager的联动
- 2016.6.28笔记(1)-MVC基础知识