首页 > 解决方案 > 如何在 react native.60 中询问位置权限?

问题描述

我还在 minifest.Xml 文件中添加了 Fine.Location 权限,但没有任何反应。我的目标dkverion = 28。请建议我一个解决方案

标签: reactjsnativeandroid-permissions

解决方案


您应该使用 react-native-geolocation-service并根据平台获取权限。在 android 上,您需要自己请求权限,如下所示:

if (Platform.OS !=='android' )   
    Geolocation.requestAuthorization()
else {
    try {
        const granted = await PermissionsAndroid.request(
            PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
            {
                title: 'we need GPS location service',
                message:
                'we need location service to provide your location',
                // buttonNeutral: 'Ask Me Later',
                buttonNegative: 'Cancel',
                buttonPositive: 'OK',
            },
        )
        if (granted === PermissionsAndroid.RESULTS.GRANTED) {
        } else {
            Defaults.modal.current.renderModel(modalOptions);
            return false;
        }
    } 
    catch (err) {
        console.warn(err);
    }
}

推荐阅读