android4.0 中关于内外置sd卡的获取及读写权限问题
来源:互联网 发布:ubuntu重新安装unity 编辑:程序博客网 时间:2024/06/05 16:39
在2.x的版本中,在manifest中配置的权限android.permission.WRITE_EXTERNAL_STORAGE确实是用来使得sd卡获得写的权限。而在4.0开发的源码当中,由于有了内外置sd卡的区分,android.permission.WRITE_EXTERNAL_STORAGE的权限用来设置了内置sd卡的写权限,如果在manifest中只是配置了这个权限,那个应用只能在内置sd卡中进行写操作,还是无法在外置sd卡中进行写操作。需要写外置sd卡的话,需要配置另一个权限android.permission.WRITE_MEDIA_STORAGE,这样就可以在外置sd卡中进行写入操作了。
这两个权限都被定义在 android源码目录\frameworks\base\data\etc\platform.xml中:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" > <group gid="sdcard_rw" /></permission><permission name="android.permission.WRITE_MEDIA_STORAGE" > <group gid="media_rw" /> </permission>
使用到的类主要是framework/base/core/java/android/os/storage/StorageVolume.java及相同目录下的StorageManager.java文件。
StorageManager类可以获得所有的存储媒体列表,及StorageVolume类型的数组,从而可以获得对应存储是否可读写一类的信息。
希望可以帮助遇到相同问题的童鞋。
2.3中声明
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
可以读写SDCARD,包括其他storage,比如内部flash,usb等等
4.0中如果只声明这个,会发现其他mount的设备有可能没有写权限,需要同时声明
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>
这样才可以读写/mnf/flash , /mnt/usb, /mnt/externa等目录
- android4.0 中关于内外置sd卡的获取及读写权限问题
- android4.0 中关于内外置sd卡的获取及读写权限问题
- Android4.4版本后 限制第三方应用读写外置SD卡的权限问题
- 关于android4.4外置sd卡读写
- Android获取外置SD卡读写路径
- android如何获取操作外置sd卡的权限
- android4以上版本读写外置sd卡报错的解决办法
- 获取外置的SD卡
- 关于android4.0以后,SD卡路径获取问题
- Android4.4之后的外置SD卡文件读写的解决方法
- Android4.4之后的外置SD卡文件读写的解决方法
- android4.4外置SD卡无写入权限
- Android6.0 在外置SD卡 读写问题.....
- Android对外置sd卡的权限问题(上)
- android4.x外置sd读写操作
- Android4.4+ 外置SD卡不能写入 获取外置SD卡路径解决方案
- 权限android.permission.WRITE_EXTERNAL_STORAGE 内外置sd卡写权限
- android4.4上sd卡的读写权限
- Roman to Integer
- 深入剖析ConcurrentHashMap(2)
- Spring中的Bean
- java 导入读取.mpp project文件(甘特图)
- 使用Xshell连接Ubuntu
- android4.0 中关于内外置sd卡的获取及读写权限问题
- TextView下划线
- mongodb可视化工具Toad
- 搭建web.py开发框架
- ML-Gradient Boost Decision Tree(+ Treelink)
- php基础系列----11php通过mysqli扩展操作mysql数据库
- spark configuration and monitor
- In-Memory Column optional
- TCP三次握手四次挥手