如何聆听对位置服务的更改与Expo反应本地的



我正在使用带有Expo的React Native构建一个应用程序,此处提供的文档:https://docs.expo.io/versions/latest/sdest/sdk/location.html

我在文档中使用了代码示例,我应该获取位置权限访问提示,并在授予时,应在设备上自动启用位置服务以获取当前位置。

在我的Android S6 Edge测试设备上,我只会得到提示,当我按允许时,我会警告一下未启用位置服务。

所以有办法可以编程启用位置服务?

这是我的代码:

constructor(props) {
  super(props);
  this.state = {
    location: false,
  };
}
componentDidMount() {
  this.askForUserPermissionToGetCurrentLocation();
}
async askForUserPermissionToGetCurrentLocation() {
  // Ask for user's permission to access location settings
  let { status } = await 
  Expo.Permissions.askAsync(Expo.Permissions.LOCATION);
  console.log(status);
  // User denied access
  if (status !== "granted") {
    console.log("denied");
  // Otherwise, access granted
  } else {
    console.log("permission granted");
    // Get the location
    let location = await Expo.Location.getCurrentPositionAsync({});
    console.log(location);
    this.setState({ location: location });
}

}

渲染方法只是显示返回位置的经度和纬度的文本。

您可以在更新用户的位置时使用方法Expo.Location.watchPositionAsync(options, callback)进行回调。

相关内容

  • 没有找到相关文章

最新更新