我在回应本机许可的理由上遇到了麻烦。它没有显示,尽管我已经把它放在我的代码中了。
const rationale = { title: 'Permission', message: 'message' }
const res = await PermissionsAndroid.request(PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION, rationale);有什么问题,为什么它没有显示?谢谢你的帮助。
发布于 2022-04-23 18:37:10
迟答,但也许这会对将来来到这里的人有所帮助:
最近,我也在努力解决这个问题,直到我深入研究了文档 on PermissionsAndroid
如果提供了基本原理,则此函数将与操作系统检查是否有必要显示一个对话框,解释为什么需要权限(https://developer.android.com/training/permissions/requesting.html#explain),然后显示系统权限对话框。
虽然仅仅从这一行中看不清楚,但按照提供的Google文档链接得到了这段有价值的片段:
如果ContextCompat.checkSelfPermission()方法返回PERMISSION_DENIED,则调用shouldShowRequestPermissionRationale()。如果此方法返回true,则向用户显示一个教育UI。在这个UI中,描述为什么用户想要启用的特性需要特定的权限。
本质上,您将不会看到初始请求的基本原理;只有在用户明确拒绝权限(通过系统对话框或通过设置)之后,才会显示它。希望能帮上忙!
https://stackoverflow.com/questions/67415239
复制相似问题