You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在另一Activity中展示ZXing库的扫码结果?

实现扫码结果跳转至另一个Activity的方案

步骤1:修改MainActivity中的扫码结果回调

在barcodeLauncher的回调逻辑里,替换原有的Toast提示,改为启动ScanProduct并传递扫码结果:

scanQR.setOnClickListener(new View.OnClickListener(){
    private final ActivityResultLauncher<ScanOptions> barcodeLauncher = registerForActivityResult(new ScanContract(),
            result -> {
                if(result.getContents() == null) {
                    Toast.makeText(MainActivity.this, "Cancelled", Toast.LENGTH_LONG).show();
                } else {
                    // 启动ScanProduct并传递扫码结果
                    Intent intent = new Intent(MainActivity.this, ScanProduct.class);
                    intent.putExtra("SCAN_RESULT", result.getContents());
                    startActivity(intent);
                }
            });
    @Override
    public void onClick(View view){
        ScanOptions options = new ScanOptions();
        options.setDesiredBarcodeFormats(ScanOptions.ALL_CODE_TYPES);
        options.setPrompt("Scan a product");
        options.setBeepEnabled(false);
        options.setBarcodeImageEnabled(false);
        options.setOrientationLocked(true);
        options.setCaptureActivity(CaptureActivity.class);
        barcodeLauncher.launch(options);
    }
});

步骤2:修改ScanProduct接收并展示扫码结果

在ScanProduct的onCreate方法中,从Intent中获取传递的扫码结果,并设置到指定TextView上:

TextView resultScan;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scan_product);

    resultScan = findViewById(R.id.result_scan);
    
    // 获取扫码结果并展示
    String scanResult = getIntent().getStringExtra("SCAN_RESULT");
    if (scanResult != null) {
        resultScan.setText(scanResult);
    }
}

额外注意事项

  • 确保ScanProduct已在AndroidManifest.xml中注册:
    <activity android:name=".ScanProduct"/>
    
  • 若需处理扫码结果为空的边界情况,可在ScanProduct中添加判断逻辑,比如显示默认提示文本。

内容的提问来源于stack exchange,提问作者Ale26

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 05:45:33