要解决此问题,请按照以下步骤操作:
app.json
或 app.config.js
文件中正确配置了位置权限。例如,在 app.json
文件中添加以下内容:{
"expo": {
"android": {
"permissions": ["ACCESS_FINE_LOCATION", "ACCESS_COARSE_LOCATION"]
},
"ios": {
"infoPlist": {
"NSLocationWhenInUseUsageDescription": "我们需要访问您的位置来提供服务。"
}
}
}
}
在 app.config.js
文件中添加以下内容:
module.exports = {
android: {
permissions: ['ACCESS_FINE_LOCATION', 'ACCESS_COQN_LOCATION'],
},
ios: {
infoPfill: {
NSLocationWhenInUseUsageDescription: '我们需要访问您的位置来提供服务。',
},
},
};
expo-location
包。首先,安装 expo-location
:expo install expo-location
然后,在您的应用程序中导入并请求位置权限:
import * as Location from 'expo-location';
async function getLocation() {
try {
const { status } = await Location.requestForegroundPermissionsAsync();
if (status !== 'granted') {
console.log('Permission to access location was denied');
return;
}
const location = await Location.getCurrentPositionAsync({});
console.log(location);
} catch (error) {
console.error(error);
}
}
@react-native-community/geolocation
包。首先,安装 @react-native-community/geolocation
:npm install @react-native-community/geolocation
然后,在您的应用程序中导入并请求位置权限:
import Geolocation from '@react-native-community/geolocation';
componentDidMount() {
Geolocation.getCurrentPosition(
(position) => {
console.log(position);
},
(error) => {
console.error(error);
},
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
);
}
按照以上步骤操作后,您应该能够解决 "无法识别的权限:位置" 错误。如果问题仍然存在,请检查您的应用程序是否具有访问位置的权限,并确保您已正确配置了 app.json
或 app.config.js
文件。
领取专属 10元无门槛券
手把手带您无忧上云