React Native 权限原理未显示

car*_*rch 1 android react-native react-native-permissions

我在反应本机权限原理方面遇到了麻烦。尽管我已经将其放入我的代码中,但它没有显示。

const rationale = { title: 'Permission', message: 'message' }
const res = await PermissionsAndroid.request(PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION, rationale);
Run Code Online (Sandbox Code Playgroud)

是什么问题导致不显示呢?感谢您的帮助。

Joe*_*Joe 6

回复晚了,但这也许会对将来登陆这里的其他人有所帮助:

我最近也遇到了这个问题,直到我深入研究了以下文档PermissionsAndroid

如果提供了理由,此函数会向操作系统检查是否有必要显示一个对话框来解释为什么需要权限(https://developer.android.com/training/permissions/requesting.html#explain),然后显示系统权限对话框。

虽然仅从该行还不能立即清楚,但按照提供的 Google 文档链接生成了以下有价值的片段:

如果ContextCompat.checkSelfPermission()方法返回PERMISSION_DENIED,则调用shouldShowRequestPermissionRationale()。如果此方法返回 true,则向用户显示教育 UI。在此 UI 中,描述用户想要启用的功能为何需要特定权限。

本质上,您不会看到最初请求的理由;它只会在用户明确拒绝该权限(通过系统对话框或通过设置)后才会显示。希望能帮助到你!