React Native Android: обнаружение нажатия на уведомление - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь обнаружить щелчок по уведомлению.

Я использую реактивный род 0,61 и: react-native-notifications 3.1.4 (но получаю те же результаты с react-native-push-notification 3.1.9).

Все работает хорошо, но одно: если я нажимаю на уведомление или открываю свое приложение из уведомления с уведомлением от администратора Firebase (или сворачиваю в FCM), эти события не запускаются:

Notifications.events().registerNotificationOpened

и

Notifications.getInitialNotification()

Однако, если я отправлю простое локальное уведомление с помощью Notifications.postLocalNotification, все будет работать хорошо.

Вот мой стандартный запрос скручивания:

curl -X POST \
  https://fcm.googleapis.com/fcm/send \
  -H 'Authorization: key=mykey' \
  -H 'Content-Type: application/json' \
  -H 'Host: fcm.googleapis.com' \
  -d '{
 "to" : "cgh6P5BESPesyBJwYlaSPi:APA91bEuLwxgZq4JUlo2Su-_l1DqNVoAPzC2eHQy07IQlTuUcZNRuFiLzlbiFuCsHhU74SgYbrIkY7e2v4uQbYCspzRLlDrwrfha40Ozv613xwyYPtR3lJMaTuNcNAhGh8bdrmMY4B3N",
 "payload" : {
     "body" : "Body of Your Notification in Data",
     "title": "Title of Your Notification in Title", 
     "pushNotification": true,   
 }

Снова появляется уведомление, но если я нажимаю на него, я не получаю ни одного события. Однако если я использую postLocalNotification, я получаю эти события.

Я боролся с этим уже несколько дней, нужно ли что-то делать с intents в моем AndroidManifest? Есть ли пример проекта с этой работой?

1 Ответ

0 голосов
/ 20 апреля 2020

После нескольких дней борьбы проблема была внутри AndroidManifest, где у меня было два действия: одно для экрана spla sh и другое для уведомлений.

Мой AndroidManifest теперь выглядит так:

<activity
  android:name=".MainActivity"
  android:label="@string/app_name">
  <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.INFO" />
  </intent-filter>
</activity>
<activity
  android:name=".SplashActivity"
  android:theme="@style/SplashTheme">
  <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...