您的位置:首页 > 移动开发 > Android开发

Android zxing扫描后出现 FAILED BINDER TRANSACTION...

2017-12-18 10:22 381 查看
在用一款黑莓手机进行 zxing 二维码扫描时,出现错误:  FAILED BINDER TRANSACTION... ... 

细看了下代码,发现错误导致原因: 因为之前写的扫描的代码,扫描框有些小,于是修改了zxing包下的CameraManager类的getFramingRect
的 MAX_FRAME_WIDTH、MAX_FRAME_HEIGHT。

Android中使用Intent进行传递数据时出现:E/JavaBinder﹕ !!! FAILED BINDER TRANSACTION !!!错误信息。  例如传递一个大的Bitmap对象时。这种情况是因为系统对Intent传递数据有大小限制。原来是我将预览框变大后,扫描获得的
bitmap 也就大了,在 intent' 传输的时候,受到大小的限制,于是出现 FAILED BINDER TRANSACTION。由于我调用扫描的时候不需要bitmap,所以我在“处理扫描结果"传输的时候,把
 bundle.putParcelable("bitmap", barcode);注释掉了,错误bug得以解决。大家如果需要传输 bitmap的话,记得在放入
intent之前,对 bitmap的大小做一下处理。

/**
* 处理扫描结果
*
* @param result
* @param barcode
*/
public void handl
4000
eDecode(Result result, Bitmap barcode) {
inactivityTimer.onActivity();
playBeepSoundAndVibrate();
String resultString = result.getText();
if (resultString.equals("")) {
Toast.makeText(MipcaActivityCapture.this, "Scan failed!", Toast.LENGTH_SHORT).show();
} else {
Intent resultIntent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("result", resultString);
//TODO  FAILED BINDER TRANSACTION报错原因:
/*bundle.putParcelable("bitmap", barcode);*/
resultIntent.putExtras(bundle);
this.setResult(RESULT_OK, resultIntent);
}
MipcaActivityCapture.this.finish();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐