читаю
Но это не решение для реакции-нативной базы огня .
Я использую react-native-firebase
для обработки уведомлений. На переднем плане все работает хорошо. Я застрял с фоновым состоянием.
Я работаю над проектом чата и выполняю функцию вызова 1-к-1. Я отправляю данные-уведомления клиентам, когда им звонят. В iOS я использовал CallKit, когда клиент получал уведомления, и он работал нормально. Но в Android у меня есть проблема:
Я могу показать ConnectionService UI для вызова, но не могу подключиться к моему серверу веб-сокетов, потому что он работает на Headless JS-сервисе. Поэтому я попытался автоматически открыть приложение. Я хочу показать экран вызова как Skype и принять / отклонить вызов. (Skype может запустить приложение, когда мне звонят)
Сводка, успешные шаги:
- Получение уведомления о вызове в основном состоянии и отображение экрана вызова.
- Получение уведомлений о вызовах в фоновом / закрытом состоянии и отображение экрана вызова на iOS.
- Получение уведомлений о вызовах в фоновом / закрытом состоянии на Android.
Застрял здесь:
- Показать экран вызова в фоновом режиме / закрыто на Android ???
TL; DR - Как запустить / запустить / открыть приложение Android из Headless JS Service?
Я копаюсь в response-native-firebase, он ловит уведомление на onMessageReceived
и отправляет уведомление в Headless JS Service.
// If the app is in the background we send it to the Headless JS Service
Intent headlessIntent = new Intent(
this.getApplicationContext(),
RNFirebaseBackgroundMessagingService.class
);
headlessIntent.putExtra("message", message);
this
.getApplicationContext()
.startService(headlessIntent);
HeadlessJsTaskService.acquireWakeLockNow(this.getApplicationContext());
Любая помощь будет оценена