朱大成 2016-09-05 07:14 采纳率: 0%
浏览 1076

请问大拿们,ZXING扫描二维码要扫2次才跳转到我自己的Activity是怎么回事?

具体描述:对准二维码或条形码扫描后,又跳转回扫描框界面(应该跳转到我的Activity),第二次扫描就跳转到我的Activity成功了;另外,我发现在扫描框出现后,我不去扫描选择点击返回,同样需要点击2遍才回到MainActivity。这是怎么回事,如何解决啊。(好像是ZXING3.2.1自带的问题,求解决)

以下是我的代码:

MainActivity下代码(是调用CaptureActivity获取到result,然后传递回我的MainActivity再跳转到ScanResultActivity获取结果):

intent.setClass(MainActivity.this, CaptureActivity.class);
startActivityForResult(intent, 0);
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);

if (resultCode == RESULT_OK) { final String result = data.getExtras().getString("result");
//定义一个handler对象 final android.os.Handler handler = new android.os.Handler() { public void handleMessage(Message msg) { if (msg.what == 1) {
RetValue retValue = (RetValue) msg.obj; //如果登录成功,转到查询明细 Intent intent = new Intent(MainActivity.this,ScanResultActivity.class);
Bundle data = new Bundle();
data.putString("totalqnty", retValue.getRetData().get(0).toString());
data.putString("detail", retValue.getRetData().get(1).toString()); //以下是查询明细所需条件 data.putString("bspno", result.toString());

        intent.putExtras(data);
        startActivity(intent);
    }
}

}; //定义一个线程,在线程中运行webservice //开始验证登录帐号 new Thread(new Runnable() { @Override public void run() {
Message msg = new Message(); try {

        RetValue retScanDetail = ws.GetBoxInfo(result.toString());
        msg.obj = retScanDetail; //查询成功,继续获取相关的配置  if (Boolean.valueOf(retScanDetail.getRetValue().toString())) {
            msg.what = 1;

        } else {
            msg.what = 0;
        }
    } catch (Exception e) {
        msg.what = 0;
        RetValue retScanDetail = new RetValue();
        retScanDetail.setRetMsg(e.getMessage());
    } handler.sendMessage(msg);

}

}).start();

}}

zxing CaptureActivity中 handleDecode下代码:

public void handleDecode(Result rawResult, Bitmap barcode, float scaleFactor) { inactivityTimer.onActivity(); beepManager.playBeepSoundAndVibrate();

Intent resultIntent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("result", rawResult.getText());
resultIntent.putExtras(bundle); this.setResult(RESULT_OK, resultIntent);
CaptureActivity.this.finish();}
  • 写回答

1条回答 默认 最新

  • devmiao 2017-02-08 15:58
    关注
    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功