React native 无法访问Android设备中的位置(访问被拒绝,错误代码3,没有可用的位置提供程序)

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" />

我正在尝试访问该位置。 我两者都试过了 和

如何解决这个问题?安装有问题吗?或者我的代码有什么问题?尽管我对此进行了大量搜索,并浏览了所有无助的解决方案。 即使在此版本中启用了自动链接,也尝试手动链接。但无法解决问题。 是否有任何其他模块要获取位置

我在AndroidManifest.xml中包含了以下几行内容

<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()

        );
    }