我对Marshmallow权限模型有疑问。 如果我的应用定位到API级别22并且用户在Marshmallow上安装了我的应用。 我是否获得了所有许可?
我在任何一份文件中都没有看到这一点。
先谢谢。
答案 0 :(得分:3)
我在任何一份文件中都没有看到这一点。
如果设备运行Android 5.1(API级别22)或更低版本,或应用程序
targetSdkVersion
为22或更低,系统会要求用户授予用户安装应用程序时的权限。如果您向应用程序的更新版本添加新权限,系统会要求用户在用户更新应用程序时授予该权限。用户安装应用后,他们撤销权限的唯一方法是卸载应用。
是的,您在安装时获得所有权限。但是,用户仍然可以通过“设置”手动撤消这些权限,如果用户这样做,当您(通常)不会获得SecurityException
时,您将无法获得受保护的数据。例如,如果用户撤消对联系人的访问权限,并且您尝试查询联系人,则系统将表现得就像没有联系人一样。
答案 1 :(得分:1)
是的,您应该获得预先授予的所有危险权限,但是用户可以随时撤消它们,这可能会导致应用程序不稳定。
答案 2 :(得分:0)
如果设备运行的是Android 6.0(API级别23)或更高版本,并且应用的targetSdkVersion为23或更高,则应用会在运行时请求用户的权限。用户可以随时撤消权限,因此应用程序需要在每次运行时检查其是否具有权限。有关在应用中请求权限的详细信息,请参阅此链接
https://developer.android.com/guide/topics/security/permissions.html