第三方应用访问外置SD卡

在Android kk版本之后(4.4, 5.0, 5.1,6.0);一般的应用程序(APP)是无法访问(读/写)外置SD卡的;仅仅只有系统级别的并且使用系统签名的APP可以访问外置SD卡

  1. AndroidManifest.xml中添加android.permission.WRITE_MEDIA_STORAGE
  2. Android.mk中添加LOCAL_CERTIFICATE := platform
  3. 不要在AndroidManifest.xml中添加share System UID

第三方APP只能访问外置SD卡的应用程序目录,例如:*Android/data/com.example.foo/
系统APP只有使用了系统签名(platform certification)并且在AndroidManifest.xml声明了权限;才可以访问外置SD卡。
详细信息请参考(需要访问 android.com)Android Storage

主要问题点:
WRITE_EXTERNAL_STORAGE权限是用来控制对主外置存储的写入的,APP是无法获得外置SD卡的写入权限的,除去SD卡中的APP目录(*Android/data/com.example.foo/),这样可以确保APP在卸载的时候可以删除对应目录

解决APP访问外置SD卡的方案:

  • 修改/frameworks/base/data/etc/platform.xml
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <group gid="sdcard_rw" />
    <group gid="media_rw" /> // Add this line ,the WRITE_MEDIA_STORAGE permission to the WRITE_EXTERNAL_STORAGE permission, so apps do not experience the described problem.
</permission>
  • AndroidManifest.xml中加入android.permission.WRITE_MEDIA_STORAGE

注意:
次修改可能导致CTS无法通过

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值