Google Play会显示隐含的READ_EXTERNAL_STORAGE权限

Jam*_*ald 11 permissions android google-play

当在Google I/O上宣布Android 4.1 JellyBean(API 16)时,它引入了以下权限:

READ_EXTERNAL_STORAGE

提供对外部存储的受保护读访问.在Android 4.1中,默认情况下所有应用程序仍具有读取权限.这将在将来的版本中进行更改,以要求应用程序使用此权限明确请求读取访问权限.如果您的应用程序已经请求写访问权限,它也将自动获得读取权限.有一个新的开发人员选项可以打开读取访问限制,开发人员可以根据Android将来的行为来测试他们的应用程序.

http://developer.android.com/about/versions/android-4.1.html#Permissions

我有一个tagets API 16的应用程序,需要WRITE_EXTERNAL_STORAGE权限.我准备部署更新,并注意到READ_EXTERNAL_STORAGE权限现在在开发人员门户中列为必需权限.对于上周部署的更新,它未在Google Play中列为必需的权限.此应用程序未显式请求READ_EXTERNAL_STORAGE权限.

已经为此应用程序授予WRITE_EXTERNAL_STORAGE权限的用户是否会在更新应用程序时被提示授予其他隐式READ_EXTERNAL_STORAGE权限?

更新:

我们已经发布了应用程序,JellyBean设备会自动更新,而不会请求READ_EXTERNAL_STORAGE权限.在我明确声明READ_EXTERNAL_STORAGE要求的未来版本中,是否会要求已授予WRITE_EXTERNAL_STORAGE权限的用户授予READ_EXTERNAL_STORAGE权限?

smi*_*324 2

READ_EXTERNAL_STORAGE只要您有 ,您就不必显式声明WRITE_EXTERNAL_STORAGE。以前,操作系统不强制对外部存储进行只读访问,这一点正在发生变化,您现在必须请求它。但如果您有写访问权限,您就隐式获得了读访问权限。

来自http://developer.android.com/training/basics/data-storage/files.html

如果您的应用程序需要读取外部存储(但不写入),那么您将需要声明 READ_EXTERNAL_STORAGE 权限...

但是,如果您的应用程序使用 WRITE_EXTERNAL_STORAGE 权限,那么它也隐式具有读取外部存储的权限。