Android对外置sd卡的权限问题(上)

作者:许勇权

       

在调查图库中关于在内外存置卡之间移动/复制操作时,写了一个小程序测试在内外存储卡操作的可行性和性能问题,发现第三方应用无法访问外置存储卡。

 

调查后得知,在2.x的版本中,android手机只有/data/目录用于存放第三方应用和应用内部数据,在manifest中配置的权限“android.permission.WRITE_EXTERNAL_STORAGE”确实是用来使得sd卡获得写的权限。

但从4.0以后,android有了内外存储卡之分,很多手机加入了内部存储卡,部分手机保留了sd卡接口,于是上述权限只能用于访问内置存储卡,正常情况下,用户只对外置存储卡的android/data/[packagename]目录具有访问权限,用户要访问外部存储卡,需要加入”android.permission.WRITE_MEDIA_STORAGE”权限。

 

然而问题来了,加入该权限后,提示该权限只对系统应用起作用,(Permissionis only granted to system apps)。还好我就是系统应用,加入权限,修改为系统签名后,访问外置存储卡测试ok。

 

问题到这里貌似可以解决了,添加WRITE_MEDIA_STORAGE权限,修改为系统签名,可以对外置存储卡获得完全权限,但追根究底,第三方应用如何获取对外置存储卡的读写权限,于是继续百度,有一个方案是,可以修改/system/etc/permissions,,添加media_rw的权限,如下所示

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值