React Native-Android 5.1.1-位置权限

时间:2018-12-05 21:22:57

标签: javascript reactjs react-native

我有一个使用 Android 5.1.1 并使用 react-native-cli@2.0.1 的真实设备。

我要使用按钮来获得单击按钮的当前位置

 navigator.geolocation.getCurrentPosition(
      location => this.setState({ msg: location.coords.latitude }),
      err => this.setState({ msg: err.code })
    );

解析为2(= POSITION_UNAVAILABLE)。

到目前为止我尝试过的事情:


  1. targetSdkVersion设置为20
  2. 以下内容对按钮单击没有任何作用:

  PermissionsAndroid.check(
      PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
    )
      .then(granted => {
        this.setState({ location: granted });
      })
      .catch(err => {
        Alert.alert("Err");
      });

  1. 不请求许可,但解析为denied

  async requestLocationPermission() {
    try {
     
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
        {
          title: "Location Permission",
          message: "This app needs access to your location"
        }
      );

      this.setState({ msg: granted });
     
    } catch (err) {
      this.setState({ msg: "err" });
    }
  }

  1. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />添加到AndroidManifest.xml

0 个答案:

没有答案