我发现处理android M及更高版本的授权缺少某些内容。至少Google对此有其他想法。 在我进行授权的推理中,有4个选项:
1个应用拥有权限
2个应用没有权限
2a从未询问用户
2b用户已拒绝
2c用户已拒绝+选中“不再询问”框。
在1到2之间进行检查很容易。但是然后开始,因为只有一种方法可以检查2a,2b和2c。那么....该方法如何返回布尔值? 使用该方法,您可以检查2b情况,但不知道(如果结果= true)是2a还是2c。
有什么选择,就是Google希望我们不断询问用户,即使用户选中了“不再询问”框。 似乎还可以,您需要拥有应用程序核心选项的权限。但就我而言,还需要额外的权利。
到目前为止,我发现的唯一选择是将数据保存在应用程序数据中,这样我就可以检查4种不同的状态。有人有更聪明的主意吗?
答案 0 :(得分:0)
多亏了迈克尔,我才发现我出了问题。 我的错误之处在于,即使用户对其进行了编程,当用户选中“不再询问”框时,Android(Google)也不显示requestPermission对话框。 然后我的下一个错误是我如何知道没有权限而得到“假” 但是android确实会执行onRequestPermissionsResult方法,即使未显示对话框也是如此。
再次:谢谢迈克尔