在本机Android中点击许可接受选项后无法启用位置服务

时间:2019-10-03 10:23:27

标签: android react-native geolocation latitude-longitude

我正在研究本机应用程序。在那,我需要用户位置。因此,我已经安装了Geolocation库,并且还添加了位置许可请求。

在获得许可后,位置服务将无法启用并且无法检索位置数据。而且,如果我看到设置的位置服务被禁用,即使我已经获得了应用程序权限的允许。

componentDidMount = async () => {
    if (Platform.OS === 'android') {
        const granted = await PermissionsAndroid.request(
            PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
            {
              'title': 'Location Updates',
              'message': 'Location Updates access to your location '
            }
          )
          if (granted === PermissionsAndroid.RESULTS.GRANTED) {
            console.log("location permission success")
            this.getLatitudeLongitude();
          } else {
            console.log("location permission denied")
            alert("Location permission is denied");
            this.setState({ errorMessage: 'Location permission is denied'})
          }
      } 

}

getLatitudeLongitude() {
    console.log("getLatitudeLongitude called")
    alert("getLatitudeLongitude called");

    Geolocation.getCurrentPosition((position) => {
        console.log('position', position);
        const initialPosition = JSON.stringify(position);
        this.setState({ initialPosition });
     },
     (error) => alert(error.message),
     { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
  );

     this.watchID = Geolocation.watchPosition((position) => {
        const lastPosition = JSON.stringify(position);
        this.setState({ lastPosition });
    });

}

我正在使用“本机”:“ 0.61.2” 版本。

有什么建议吗?

0 个答案:

没有答案