我一直在尝试将React Native的GeoLocalisation用于一个Android应用程序。在https://facebook.github.io/react-native/docs/geolocation.html中可以找到文档化较差的模块。根据文档,您可以使用AndroidManifest.xml
文件中的以下代码处理Android上的位置权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
但是,我的在线研究表明,上面的代码行对于ANDROID >= 6.0
版本是无用的
由于我的GeoLocation实现目前不起作用,我没有其他理由,只能相信位置权限没有得到正确处理。
如何在运行时成功请求React Native Android应用的位置权限?
6条答案
按热度按时间8mmmxcuj1#
我通过修改
android/app/build.gradle
中的targetSdkVersion
(与compileSdkVersion相同,在我的例子中为23)解决了这个问题。编辑位于android/src/main中的AndroidManifest.xml并添加
下一篇:
然后添加此方法:
并在运行时请求位置时访问该方法
ryoqjall2#
这对我没用
我引用了https://facebook.github.io/react-native/docs/permissionsandroid.html#request,check()返回一个布尔值
slwdgvem3#
您可以使用react原生PermissionsAndroid来请求权限:https://facebook.github.io/react-native/docs/permissionsandroid.html#request
或者,更简单的选择是使用一个为您执行此操作的库,例如https://github.com/yonahforst/react-native-permissions
qjp7pelc4#
我注意到两件事:
1.必须更改
build.gradle
文件中的compileSdkVersion 23
1.您必须添加视图的单击侦听器才能显示到权限对话框。
希望这对你有帮助。
zvokhttg5#
您可以使用以下代码请求位置权限
j13ufse26#
在清单中
more details