[未处理的承诺拒绝:类型错误:未定义不是对象(评估'_expoPermissions.Permissions.getAsync')]

Cam*_*man 1 react-native expo

我无法获得推送通知的令牌并且权限不起作用:

未处理的承诺拒绝:类型错误:未定义不是对象(评估“_expoPermissions.Permissions.getAsync”)

这是代码:

registerForPushNotificationsAsync = async ()=> {
  const { status } = await Permissions.getAsync(Permissions.NOTIFICATIONS);
  let finalStatus = status;
  if (status !== 'granted') {
    const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS);
    finalStatus = status;
  }
  if (finalStatus !== 'granted') {
    return;
  }
  let token = await Notifications.getExpoPushTokenAsync();
  console.log(token);
}
Run Code Online (Sandbox Code Playgroud)

Rus*_*sty 7

权限从“expo”包移动到“expo-permissions”

您必须先安装 expo-permissions 包,然后使用以下语法导入它

import * as Permissions from 'expo-permissions';
Run Code Online (Sandbox Code Playgroud)