在我的博览会应用中,我想获得用户的位置,我正在尝试与Expo官方网站上的代码相同的代码,以获取用户的位置。但是Expo应用没有显示弹出窗口的位置许可,请参阅下面的代码
componentWillMount() {
this._getLocationAsync();
}
_getLocationAsync = async () => {
let { status } = await Permissions.askAsync(Permissions.CAMERA);
if (status !== 'granted') {
this.setState({
errorMessage: 'Permission to access location was denied',
});
}
// let location = await Location.getCurrentPositionAsync({});
// this.setState({ location });
};
另一方面,如果我替换权限。用权限替换location.camera。应用程序显示弹出窗口以获取许可。
请帮助我无法解决此问题,我正在使用Android设备
第一个componentwillmount被弃用。使用ComponentDidMount
尝试一下第二,您可能已经授予了应用程序的位置权限。如果已经提供了权限,请在电话上检查设置。如果是,请在设置上更改并重试。
componentDidMount() {
this._getLocationAsync();
}
_getLocationAsync = async () => {
let { status } = await Permissions.askAsync(Permissions.CAMERA);
if (status !== 'granted') {
this.setState({
errorMessage: 'Permission to access location was denied',
});
}
// let location = await Location.getCurrentPositionAsync({});
// this.setState({ location });
};