React native 无法访问Android设备中的位置(访问被拒绝,错误代码3,没有可用的位置提供程序)
我正在尝试访问该位置。 我两者都试过了 和 如何解决这个问题?安装有问题吗?或者我的代码有什么问题?尽管我对此进行了大量搜索,并浏览了所有无助的解决方案。 即使在此版本中启用了自动链接,也尝试手动链接。但无法解决问题。 是否有任何其他模块要获取位置 我在AndroidManifest.xml中包含了以下几行内容React native 无法访问Android设备中的位置(访问被拒绝,错误代码3,没有可用的位置提供程序),react-native,geolocation,react-native-android,React Native,Geolocation,React Native Android,我正在尝试访问该位置。 我两者都试过了 和 如何解决这个问题?安装有问题吗?或者我的代码有什么问题?尽管我对此进行了大量搜索,并浏览了所有无助的解决方案。 即使在此版本中启用了自动链接,也尝试手动链接。但无法解决问题。 是否有任何其他模块要获取位置 我在AndroidManifest.xml中包含了以下几行内容 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
本地社区/地理位置:^2.0.2
如果我在手机中手动打开我的位置,它将获取位置。并且能够在android emulator中获取位置
import React, { Component } from 'react';
import { View, PermissionsAndroid } from 'react-native';
import {
withTheme,
Appbar,
} from 'react-native-paper';
import Geolocation from '@react-native-community/geolocation';
// import Geolocation from 'react-native-geolocation-service';
import RNAndroidLocationEnabler from 'react-native-android-location-enabler';
class AddBill extends Component {
state = {
initialposition: [],
latitude: '',
logitude: '',
}
async componentDidMount() {
let granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("test")
let config = {
authorizationLevel: "auto"
}
Geolocation.setRNConfiguration(config);
Geolocation.getCurrentPosition(
(position) => {
console.log(position);
},
(error) => {
console.log(error);
},
{ enableHighAccuracy: true, timeout: 15000, maximumAge: 110000 }
);
} else {
console.log('Location permission not granted!!!!');
}
};
_back = () => {
this.props.navigation.goBack()
}
render() {
return (
<>
<Appbar.Header>
<Appbar.BackAction onPress={this._back} />
<Appbar.Content title="New Bill" />
</Appbar.Header>
<View></View>
</>
);
}
}
export default withTheme(AddBill);
import React,{Component}来自'React';
从“react native”导入{View,PermissionsAndroid};
进口{
主题,,
阿帕巴,
}来自“react native paper”;
从“@react native community/Geolocation”导入地理位置;
//从“反应本地地理定位服务”导入地理定位;
从“react native android location enabler”导入RNAndroidLocationEnabler;
类AddBill扩展组件{
状态={
初始位置:[],
纬度:'',
逻辑性:'',
}
异步组件didmount(){
let grated=等待许可证和ROID.request(
PermissionsAndroid.PERMISSIONS.ACCESS\u FINE\u位置
);
如果(已授予===权限sandroid.RESULTS.已授予){
控制台日志(“测试”)
让配置={
授权级别:“自动”
}
Geolocation.setRNConfiguration(配置);
Geolocation.getCurrentPosition(
(职位)=>{
控制台日志(位置);
},
(错误)=>{
console.log(错误);
},
{enableHighAccurance:true,超时:15000,最大值:110000}
);
}否则{
log('未授予位置权限!!!!');
}
};
_后退=()=>{
this.props.navigation.goBack()
}
render(){
返回(
react本机地理位置服务:^5.0.0
手动打开位置后出现相同错误
尝试将其添加到MainApplication.java中,然后进行构建并重试
import com.agontuk.RNFusedLocation.RNFusedLocationPackage;
//在中添加新的RNFusedLocationPackage()
你能分享Geolocation.getCurrentPosition的全部代码吗(及其所有部分,包括imports@GauravRoy我已经添加了代码,请检查已包含上述行,但0.60及以上版本不需要手动链接。无论如何,它对我不起作用。哦,你已经创建了一个新版本并在右侧进行了尝试?是的,我也尝试了internet上的所有可用选项:(非常奇怪的情况,那么,如果您已经尝试了所有方法,我建议您在他们的github repo上提出一个问题。是的,它看起来是正确的,那里的代码没有问题,它可能与库的本机模块有关
import com.agontuk.RNFusedLocation.RNFusedLocationPackage;
@override
protected List getPackages() {
return Arrays.asList(
new RNFusedLocationPackage()
);
}