android permission dialog
未在lollipop version I.e 5.1
中显示,但permission dialog
在6.0版中显示,即marshmallow
。任何人都可以告诉我这背后的原因是什么,以及如何解决这个问题。
答案 0 :(得分:1)
对于以下Android 6.0
权限,对话框不会向用户显示。
来自Android Docs:
- 如果设备运行Android 5.1或更低版本,或者您应用的目标SDK为22或更低:如果您列出了危险权限 清单,用户在安装时必须授予权限 应用;如果他们不授予权限,则系统不会安装 应用程序。
- 如果设备运行Android 6.0或更高版本,并且您的应用的目标SDK为23或更高:该应用必须列出权限 清单,它必须要求每个危险的许可 该应用正在运行。用户可以授予或拒绝每个权限,以及 即使用户,应用程序也可以继续以有限的功能运行 否认许可请求。
醇>
答案 1 :(得分:0)
任何人都可以告诉我这个
背后的原因是什么
假设您的意思是runtime permission dialog triggered by requestPermissions()
,原因是此对话框仅存在于Android 6.0+上。 ActivityCompat.requestPermissions()
,ContextCompat.checkSelfPermission()
和相关方法在Android 6.0设备上调用其本机等效项,并在旧设备上正常失败。
如何解决这个问题。
没有问题。运行时权限仅存在于Android 6.0+上。在Android 1.0-5.1设备上,权限仅在安装时授予。