我正在使用来自博览权限库的权限来获取用户的位置坐标:
import * as Location from "expo-location";
import * as Permissions from 'expo-permissions';
const granted = await Permissions.askAsync(Permissions.LOCATION);上面的方法可以工作,但是一直给出一个警告:expo权限是不推荐的。
如果我用:
import {Location, Permissions } from 'expo';它表示无法读取未定义的属性“askAsync”。
有人知道我该用什么吗?我使用sdk42
谢谢!
发布于 2021-08-05 14:22:27
为了支持
module-specific permissions methods,您应该从使用Permissions.askAsync和Permissions.getAsync迁移到由需要这些权限的模块导出的权限方法。 例如:应该将对Permissions.askAsync(Permissions.CAMERA)的调用替换为Camera.requestPermissionsAsync()在单个SDK中不应该有两种方法来做相同的事情,所以我们选择了我们喜欢的方法,并围绕它进行了整合。
所以现在,您必须从各个包中使用Permissions。
定位,
首先,安装expo-location
expo install expo-location然后你就可以像这样使用它
import * as Location from 'expo-location';
let { status } = await Location.requestForegroundPermissionsAsync();
if (status !== 'granted') {
console.log('Permission to access location was denied');
return;
}发布于 2021-11-06 03:32:46
如果有人来这里想获得ImagePicker的权限,那么根据文档,您应该这样做:
import * as ImagePicker from "expo-image-picker";
const getPermissionAsync = async () => {
const { status } = await ImagePicker.requestMediaLibraryPermissionsAsync();
if (status !== "granted") {
alert("...");
}
};发布于 2021-08-05 14:23:25
现在,使用expo,每个库都有自己的权限请求方法。
以位置为例:
let { status } = await Location.requestForegroundPermissionsAsync();https://stackoverflow.com/questions/68668152
复制相似问题