Permissions.askAsyn c не работает должным образом - PullRequest
1 голос
/ 30 января 2020

У меня проблема с Permissions.askAsyn c для уведомлений.

const status = await Permissions.askAsync(Permissions.NOTIFICATIONS)

Когда статус уведомления "неопределенный" с использованием Permissions.askAsyn c Я ожидаю, что появится диалоговое окно с подсказкой Пользователь должен включить уведомления, чтобы продолжить. Но когда я получаю статус уведомлений с помощью Permissions.getAsyn c, если он не «предоставлен», я использую Permissions.askAsyn c, но ничего не происходит (не отображается диалоговое окно для уведомлений)

Окружающая среда ниже:

Target: iOS
Expo CLI 3.8.0 environment info:
System:
OS: macOS 10.14.6
Shell: 5.3 - /bin/zsh
Binaries:
Node: 12.13.1 - /usr/local/bin/node
npm: 6.12.1 - /usr/local/bin/npm
Watchman: 4.7.0 - /usr/local/bin/watchman
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: 11.2.1/11B500 - /usr/bin/xcodebuild
npmPackages:
expo: ^35.0.0 => 35.0.1
react: 16.11.0 => 16.11.0
react-native: https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz => 0.59.8
react-navigation: ^3.11.0 => 3.12.1
npmGlobalPackages:
expo-cli: 3.8.0

Образец ниже:

import * as Permissions from "expo-permissions"

componentDidMount(){
   this.checkPushNotificationState()
}

checkPushNotificationState = async () => {

  const { status: existingStatus } = await Permissions.getAsync(
    Permissions.NOTIFICATIONS
  )

  if (existingStatus !== "granted") {
    const status = await Permissions.askAsync(Permissions.NOTIFICATIONS)
    statusNotifications = status.status
  }
}
...