私はネイティブの Android/iOS 開発者であり、一般的にイオン キャパシタと JavaScript を初めて使用します。Android の OnNewIntent コールバックから、作業中の ionic-react プロジェクトにデータを送信しようとしています。BridgeActivity を拡張するネイティブの MainActivity.java でこれを行っています。
@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);
});
}, []);
しかし、私の人生では、ネイティブ アクティビティから App.tsx ファイルにメッセージを送信することはできません。アクティビティが再開された後、トリガーを最大 15 秒遅らせて、全員がインスタンス化されるようにしましたが、メッセージが受信されたことを示す兆候はまだ見られません。ネイティブ層からコンデンサー層に通信する簡単な方法はありますか? これらの初期の Android ライフサイクル イベントは、イオン リスナーが登録する前に発生するのでしょうか? 最初の画面をレンダリングする前に、ネイティブ側のみが知っている起動データをイオン側に送信しようとしています。
ありがとう!スコット