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