1 回答

TA貢獻1798條經驗 獲得超7個贊
在瀏覽了這么多示例和教程之后,我找到了一個簡單的解決方案。從這里安裝 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);
}
我可以啟動另一個應用程序并等待活動結果,它會相應地執行操作。
添加回答
舉報