android4.0 中关于内外置sd卡的获取及读写权限问题

原创 2012年03月24日 17:02:40

        在android4.0源码出来以后,关于sd卡问题似乎没有解决好,起码上层api中没有体现到位。其实在framework层中有相应的类去获得内外置sd卡信息,是否可读写的权限。

        在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类型的数组,从而可以获得对应存储是否可读写一类的信息。

希望可以帮助遇到相同问题的童鞋。





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android学习 - 小知识(4.0以上版本读写外置sd卡与onCreate、onRestoreInstanceState、onSaveInstanceState三者关系)

android 4.0以上版本读写外置sd卡报错的解决办法 2.3中声明: 可以读写SDCARD,包括其他storage,比如内部flash、usb等等。 4.0中如果只声明这个,会发现...
  • wolflz
  • wolflz
  • 2015年04月26日 22:09
  • 306

Android 6.0 读写SD卡权限问题

Android 6.0 读写SD卡权限问题, 运行时权限检查 Android M SD卡读写权限

解决设置Android 23.0以上版本对SD卡的读写权限无效的问题

对Android的SD卡进行读取权限设置时: 结果报错: 依然提示我没有权限,于是百...

【Android存储权限问题】AS开发的应用,manifest配置了读写SD卡权限,安装却无法创建文件夹

小弟最近刚涉足AndroidStudio,在写下载服务的时候发现文件夹无法创建的问题,先来看下代码: 1. 配置文件权限   2. 创建文件夹 后来发现个问题,我通过Eclipse...

Android4.0 SD卡无法删除文件solution与Androidmanifest.xml解析流程

在4.0专案的进行中遇到了一个BUG,SD卡中的文件无法删除,重启之后文件还是会出现在卡中,解决办法如下,加入media权限.另外特别研究下权限解析的代码。 2.3中声明 可以读写SD...
  • djpraul
  • djpraul
  • 2013年07月16日 11:17
  • 1056

安卓模拟器Android4.0的root权限获取

apk软件的安装方法请看此贴:http://www.budezhi.com/thread-3801-1-1.html 本文介绍的所有相关软件下载地址在贴尾。 第一步:确认安卓模拟器的roo...

android检测SD卡读写权限详情

一、解析 做项目遇到了一个棘手的问题,SD卡的读写权限问题。1.android版本在6.0以上版本时,以下代码才有用:if (Build.VERSION.SDK_INT >= 23) { ...

Android -- 读写文件到内部ROM,SD卡,SharedPreferences,文件读写权限

(内容整理自张泽华教程) 1. 概述 使用文件进行数据存储 首先给大家介绍使用文件如何对数据进行存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过...

Android4.0Sd卡移植之使用vold自动挂载sd卡

Android4.0Sd卡移植之使用vold自动挂载sd卡   在cap631平台上移植android4.0,发现内核驱动没有任何问题,能够读写,当总不能挂载。 后来发现是因为自动挂载需要vol...

Android获取外置SD卡读写路径

1. 外置SD卡的一些问题1.1 关于外置SD卡上的读写路径Android 4.4及以上版本,应用的外置SD卡读写路径被限定在固定路径上(外置SD卡根路径/Android/data/包名/files)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android4.0 中关于内外置sd卡的获取及读写权限问题
举报原因:
原因补充:

(最多只允许输入30个字)