猿问

如何通过本机反应启动和接收来自另一个应用程序的输出?

我已经使用 VSCode 创建了 React Native 应用程序,现在,我必须使用微型 USB 主机集成阅读器设备。

我已经安装了阅读器应用程序来测试 APK。基于网络,我可以通过我当前应用程序的意图调用阅读器应用程序。

目前,我已经尝试搜索通过意图调用本机应用程序的教程。但是我被困在放置脚本的方式中。要么我应该创建新文件/将脚本粘贴到现有的/替换现有的./android/app/src/main/java/com/myAppName/MainApplication.java以及如何调用和接收我的扫描仪类的输出./src/screens/scanScreens/mainScanner.js

以下是我所做的,但坚持下一步应该做什么:-

  1. 本机模块

  2. 将 React-Native 模块集成到现有的原生应用程序 (Android)

  3. Android 上与 React Native 的应用到应用通信

  4. 堆栈接受的答案

  5. 反应本机意图发射器


烙印99
浏览 130回答 1
1回答

元芳怎么了

在浏览了这么多示例和教程之后,我找到了一个简单的解决方案。从这里安装 react-native-activity-result。我如何执行此操作如下:import ActivityResult from 'react-native-activity-result';_onLaunch = async () => {    const activity = await ActivityResult.resolveActivity('com.causalidea.cikad.showkad.READ_MYKAD');    if (!activity) {        console.warn('Please install the othe app.');        ToastAndroid.show(`MyKAD application reader is not install`, ToastAndroid.SHORT, ToastAndroid.BOTTOM);    } else {        console.log(`Activity will be handled by ${activity.package}`);        ToastAndroid.show(`Activity will be handled by ${activity.package}`, ToastAndroid.SHORT, ToastAndroid.BOTTOM);    }    // Start an activity for a result    let uniqueId = 0;    let args = {READ_PHOTO: false};    ToastAndroid.show(`Test`, ToastAndroid.SHORT, ToastAndroid.BOTTOM);    const response = await ActivityResult.startActivityForResult(uniqueId, 'com.causalidea.cikad.showkad.READ_MYKAD', args);    ToastAndroid.show(`Result code: ${response.resultCode}`, ToastAndroid.LONG, ToastAndroid.BOTTOM);    if (response.resultCode !== ActivityResult.OK) {        ToastAndroid.show(`Invalid result from activity.`, ToastAndroid.SHORT, ToastAndroid.BOTTOM);        throw new Error('Invalid result from activity.');    } else {        console.log('Got the following response: ' + response.data);        ToastAndroid.show(`Response:\n${JSON.stringify(response)}`, ToastAndroid.SHORT, ToastAndroid.BOTTOM);    }    // Finish an activity with a result. This will close the caller too.    //ActivityResult.finish(ActivityResult.OK, 'com.causalidea.cikad.showkad.READ_MYKAD', args);}我可以启动另一个应用程序并等待活动结果,它会相应地执行操作。
随时随地看视频慕课网APP

相关分类

Java
我要回答