您现在的位置:首页 >> 手机开发 >> android基础 >> 内容

Android4.4访问外部存储--Java学习网

时间:2016-11-18 7:48:51

  核心提示:在Android 4.4系统中,外置存储卡(SD卡)被称为二级外部存储设备(secondary storage),应用程序已无法往外置存储卡(SD卡)写入数据,并且WRITE_EXTERNAL_STO...

android 4.4系统中,外置存储卡(SD卡)被称为二级外部存储设备(secondary storage),应用程序已无法往外置存储卡(SD卡)写入数据,并且WRITE_EXTERNAL_STORAGE只为设备上的主要外部存储(primary storage)授予写权限,对于其他外部存储,其上的文件属性都改为基于文件夹结构,应用无需获取WRITE_EXTERNAL_STORAGE权限,但可以管理与自己包名相关的文件夹。举例来说,如果应用的包名是com.example.externalstorage,那么外部存储上的android/data/com.example.externalstorage/文件夹就是它的了,可随意访问,无需权限。另外需要特别注意的是,应用卸载的时候,在SD卡上创建的相应文件夹、数据都会被同时完全删除。

 

例外,在android 4.4里,系统应用(指有platform签名,或预装在/system/priv-app目录下的应用)可以通过使用WRITE_MEDIA_STORAGE权限获取完全读写SD卡的权限。

 

android 4.4增加了下面的函数访问外部存储:

 

Context.getExternalFilesDirs(null), 返回多个sd卡的该应用私有数据区的files目录 

/storage/sdcard0/android/data/<包名>/files

/storage/sdcard1/android/data/<包名>/files

 

Context.getExternalCacheDirs(), 返回多个sd卡下该应用私有数据库的缓存目录

/storage/sdcard0/android/data/<包名>/caches

/storage/sdcard1/android/data/<包名>/caches

 

Context.getObbDirs(), 返回多个sd卡下obb目录下的私有数据(该目录一般是游戏的数据包目录)

/storage/sdcard0/android/obb/<包名>

/storage/sdcard1/android/obb/<包名>

 

 

通过上面的函数在我的android 5.1的系统上可以正确获取sd卡路径,但是在android4.4系统上只能看到内部存储的路径。

   

 

根据网上的资料,android 4.4以后可以通过修改系统文件来管理sd卡,方法如下:

1 <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
2         <group gid="sdcard_r" />
3         <group gid="sdcard_rw" />
4         <group gid="media_rw" />
5     </permission>

修改/system/etc/permissions/platform.xml文件的android.permission.WRITE_EXTERNAL_STORAGE节点,增加<group gid="media_rw" />(需要root权限)。

修改完后应用就可以随意控制sd卡了。

Java免费学习   Java自学网 http://www.javalearns.com

关注微信号:javalearns   随时随地学Java

或扫一扫

随时随地学Java

作者:不详 来源:网络
    你是从哪里知道本网站的?
  • 网友介绍的
  • 百度搜索的
  • Google搜索的
  • 其它搜索过来的
  • 网址输错了进来的
  • 太忙了不记得了
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • java学习网(www.javalearns.com) © 2014 版权所有 All Rights Reserved.
  • Email:javalearns@163.com 站长QQ:1356121699 晋ICP备14003680号-3
  • java学习网部分内容来自网络或网友发布,如侵犯了您利益,请发邮件至:javalearns@126.com,我们尽快处理!
  • Java学习网
  • 网站统计
  • 晋公网安备 14042902000001号