要从初始活动(启动Zxing扫描仪)传递数据到onActivityResult回调函数,可以按照以下步骤进行操作:
在初始活动中启动Zxing扫描仪:
// 定义请求码
private static final int ZXING_REQUEST_CODE = 1;
// 启动Zxing扫描仪
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, ZXING_REQUEST_CODE);
在初始活动中重写onActivityResult方法来接收扫描结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ZXING_REQUEST_CODE && resultCode == RESULT_OK) {
// 获取扫描结果
String scanResult = data.getStringExtra("SCAN_RESULT");
// 在此处处理扫描结果
// ...
}
}
在Zxing扫描仪中设置扫描结果并返回到初始活动:
// 在扫描成功的地方设置扫描结果
String scanResult = "扫描结果";
Intent intent = new Intent();
intent.putExtra("SCAN_RESULT", scanResult);
setResult(RESULT_OK, intent);
finish();
这样,当Zxing扫描仪扫描成功后,会将扫描结果传递回初始活动的onActivityResult方法中,你可以在该方法中获取并处理扫描结果。