仅在最低SDK版本及以上版本中授予Android权限

3

是否可以声明一个uses-permission,只有在sdk版本达到某个特定值时才授予权限?

我问这个问题是因为我最近更新到了KitKat(SDK版本19),现在要查询专辑封面必须具有READ_EXTERNAL_STORAGE权限。但我不想让那些更新应用的人因为4.4版本现在需要这个权限而需要新的权限...

谢谢

1个回答

1
我希望你不要针对KitKat进行开发,参见http://developer.android.com/guide/topics/security/permissions.html
“随着时间的推移,新的限制可能会添加到平台上,以便使用某些API,您的应用程序必须请求先前不需要的权限。因为现有的应用程序假定可以自由访问这些API,所以Android可能会将新的权限请求应用于应用程序的清单,以避免在新的平台版本上破坏应用程序。 Android根据targetSdkVersion属性提供的值来决定应用程序是否需要权限。如果该值低于添加权限的版本,则Android会添加该权限。”

1
嗯,Android建议相反;从您提供的链接中可以看到:“请注意,即使您的应用程序实际上可能不需要这些权限,但在Google Play上列出的应用程序清单将显示这些所需权限。为了避免这种情况并删除您不需要的默认权限,请始终将targetSdkVersion更新为尽可能高的版本。” - Adinia
对我来说,这意味着,如果应用程序已经针对 <API 19 目标安装在 KitKat 用户设备上,则该用户已经批准了该权限,在升级时不会再提示其进行更多授权。同样,<KitKat用户不需要新的权限,因为它们并非必需。 - Philio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接