Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设备在允许权限后未获取位置-反应本机-Android_Android_React Native - Fatal编程技术网

设备在允许权限后未获取位置-反应本机-Android

设备在允许权限后未获取位置-反应本机-Android,android,react-native,Android,React Native,我正在使用react本机应用程序,它完全取决于位置,因此我为它创建了以下代码,在大多数实际设备中,我无法获取位置,并且总是在出现错误时返回到授予的条件,并带有“取消”或“重试”的警告框 getLocation = () = { try { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,

我正在使用react本机应用程序,它完全取决于位置,因此我为它创建了以下代码,在大多数实际设备中,我无法获取位置,并且总是在出现错误时返回到授予的条件,并带有“取消”或“重试”的警告框

getLocation = () = {
    try {
        const granted = await PermissionsAndroid.request(
          PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
          {
            'title': 'Permission Title',
            'message': 'App ' +
              'Message'
          }
        )
        if (granted === PermissionsAndroid.RESULTS.GRANTED) {
            that = this;
            navigator.geolocation.getCurrentPosition(
                (position) => {
                    this.checkLogin(position);
                },
                (error) => {
                    Alert.alert(
                      'Location',
                      'We are not able to get your current location.',
                      [
                        {text: 'Cancel', onPress: () => BackHandler.exitApp(), style: 'cancel'},
                        {text: 'Try Again', onPress: () => this.getLocation()},
                      ],
                      { cancelable: false }
                    )
                },
                { enableHighAccuracy: false, timeout: 5000, maximumAge: 1000, distanceFilter: 1 }
            );
        } else {
          alert("Location permission denied")
        }
    }catch(err){
        alert(err)
    }
}
AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />


是否有任何适用于所有设备的快速解决方案,或者如果我必须更新上述代码,请告诉我。

我建议使用react native geolocation。这是一个很好的插件,可以开箱即用。您甚至不需要执行自己的权限实现。它是为你做的。我将其用于内置的Android和iOS应用程序。它甚至可以配置为在后台工作

www.transistorsoft.com/shop/customers
未经授权
->我无法完成此插件的设置