Как передать данные из фонового android сервиса в реагирующее - PullRequest
0 голосов
/ 23 января 2020

Я создаю приложение, реагирующее на родной язык. У меня есть фоновая служба android, которая получает уведомление pu sh. Мне нужно хранить информацию об уведомлениях (заголовок, описание ...) в собственной базе данных реакции или в asyncstorage ... потому что в моем приложении есть страница, на которой отображаются все уведомления. Мне нужно это, если мое приложение находится в фоновом режиме, и я получаю уведомление, когда пользователь открывает приложение, страница отображает эту информацию. Как я могу это сделать?

Я пытаюсь сохранить уведомление в той же базе данных, которую использует реактивная система, но не могу сохранить данные в службе android. Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 31 января 2020

Да, но когда вы закрываете приложение и после этого кто-то отправляет одно уведомление pu sh, полученное и открытое событие и т.д. c ничего не делают. Я попытался создать собственный модуль, который получит эту информацию, и попытаться отправить событие. Я следовал этому руководству:

https://facebook.github.io/react-native/docs/native-modules-android#sending -events-to- javascript

Но это не работает, всегда возвращает «sendEvent, вызванное до загрузки пакета» java .lang.NullPointerException.

0 голосов
/ 23 января 2020

Вы пытались исследовать это.

    componentWillMount() {
    Linking.addEventListener("url", this.handleOpenURL);
    OneSignal.addEventListener("ids", this.onIds);
    OneSignal.addEventListener("received", this.onReceived);
    OneSignal.addEventListener("opened", this.onOpened);
  }

И в oneReceived Listener событий вы можете хранить данные в asyn c хранилище, полученное из pu sh уведомления.

onReceived(data) {
    this.props.setData(data);
  }

В наборе данных вы можете иметь свою логику для хранения данных. Ну, я должен сказать, что pu sh уведомления не используются для извлечения данных и для хранения, а затем для рендеринга. Они предоставляют лишь небольшую информацию для Открыть экран c. Как и я получил уведомление о сделках. После нажатия на кнопку «Воля» автоматически открывается экран сделок с помощью ссылки, а не домашней страницы приложения. Для вашего случая вы можете отправить запрос на эту страницу c для получения данные.

...