android - 离子反应本机-> js 通信
问题描述
我是一般的离子电容器和 javascript 的原生 Android/iOS 开发人员。我正在尝试将数据从 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);
});
}, []);
但我一生都无法通过从本机 Activity 到 App.tsx 文件的消息。我尝试在 Activity 恢复后将触发器延迟最多 15 秒,以确保每个人都被实例化,但我仍然没有看到消息已收到的迹象。有没有一种简单的方法可以从本机层通信到我缺少的电容器层?是不是这些早期的 Android 生命周期事件发生在 ionic 侦听器有机会注册之前?只是试图在渲染第一个屏幕之前将只有本机端知道的启动数据发送到离子端。
谢谢!斯科特
解决方案
推荐阅读
- php - 如何使用 Laravel http post 禁用 SSL 检查
- python - 将机器人部署到 Azure App 服务时,如何在 python 机器人框架中更改文件的本地路径?
- python - 使用 KNNImputer 填充 Pandas 中的缺失数据
- javascript - 检查 javascript 对象是否具有嵌套的键值对
- javascript - Javascript 上的异步和等待函数
- javascript - 顶点标签在图中应该是唯一的吗?
- azure - 在没有客户端密码的情况下使用 Azure KeyVault Rest API 进行身份验证?
- awk - 如何提取键值对并将值分配给bash脚本中的变量
- python - 有没有办法将位于 docker 容器中的 excel 文件调用到 python 中?
- javascript - React native - 在一天的特定时间调用函数