检查是否使用react native启用了位置服务

Ben*_*cco 7 android native geolocation ios react-native

我目前正在开发一个使用react native的应用程序,该应用程序需要启用位置服务来实现其某些功能.我一直在研究是否有一种简单的方法来测试用户是否打开了它们,所以如果不是,我可以显示不同的视图.除了IOS或Android特有的结果之外,我没有找到任何结果.还有其他人找到了解决方案吗?

Bur*_*zen 5

使用android的"反应本机android位置服务对话框"模块

https://www.npmjs.com/package/react-native-android-location-services-dialog-box

安装

npm install react-native-android-location-services-dialog-box --save
Run Code Online (Sandbox Code Playgroud)

JS

import LocationServicesDialogBox from "react-native-android-location-services-dialog-box";

LocationServicesDialogBox.checkLocationServicesIsEnabled({
  message: "Use Location ?",
  ok: "YES",
  cancel: "NO"
}).then(function(success) {
  console.log(success); // success => "enabled"
).catch((error) => {
  console.log(error.message); // error.message => "disabled"
});
Run Code Online (Sandbox Code Playgroud)

  • IOS怎么样? (3认同)

Ben*_*cco -1

当无法检索位置时,我可以通过显示错误消息来解决此问题。

(error) => {
        this.setState({servicesOn: false}),
        console.log(error);
      },
Run Code Online (Sandbox Code Playgroud)