ioni c реагирует на родную -> js связь - PullRequest
0 голосов
/ 19 апреля 2020

Я являюсь родным Android / iOS разработчиком, новым для ионного c конденсатора и javascript в общем Я пытаюсь отправить данные из обратного вызова OnNewIntent Android в проект ioni c, над которым я работаю. Я делаю это в родной MainActivity. java, которая расширяет BridgeActivity:

  @Override
  protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    getBridge().triggerDocumentJSEvent("MyEvent","blah");
  }

И в моем файле App.tsx у меня есть что-то вроде этого:

const App: React.FC = () => {
  const onMyEvent = (input: string): void => {
    console.log('event received: ${input}');
  };

  useEffect(() => {
    document.addEventListener('MyEvent', () => {
      console.log('MyEvent document');
      onMyEvent(it.name);
    });

    window.addEventListener('MyEvent', () => {
      console.log('MyEvent window');
      onMyEvent(it.name);
    });
  }, []);

, но Я не могу всю жизнь получить сообщение из нативного Activity в файл App.tsx. Я пытался отложить запуск до 15 секунд после возобновления действия, чтобы убедиться, что все созданы, но я до сих пор не вижу признаков того, что сообщение было получено. Есть ли простой способ связи от родного слоя до слоя конденсатора, который мне не хватает? Неужели эти ранние события жизненного цикла Android происходят до того, как слушатели ioni c смогут зарегистрироваться? Просто пытаюсь отправить данные запуска, которые знает только нативная сторона, на сторону ioni c перед рендерингом первого экрана.

Спасибо! Скотт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...