您的位置:首页 > 其它

第三方应用访问外置SD卡

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

AndroidManifest.xml中添加android.permission.WRITE_MEDIA_STORAGE

Android.mk中添加LOCAL_CERTIFICATE := platform

不要在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无法通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: