Android失败的Binder事务解决方法

时间:2014-09-07 19:58:48

标签: java android android-bitmap android-binder

我需要一个可行的解决方案来解决这个问题。我使用Android相机拍照。调用的方法称为onPictureTaken。该程序应该从图片中获取字节数组,并将其传递回在另一个类中等待它的intent。

我的问题是我收到Failed Binder Transaction错误。我知道这是因为数据太大了。在发送之前是否有可行的方法来压缩它?

**注意,我知道我可以制作和压缩位图,但它更适合我的程序编写方式来发送实际的字节数组。

以下代码:

public void onPictureTaken(byte[] data, Camera camera) {
            Toast.makeText(getApplicationContext(), "Picture Taken",
                    Toast.LENGTH_SHORT).show();

            //start of finish intent
            Intent intent = new Intent();
            intent.putExtra("image_arr", data);
            setResult(1, intent);
            camera.stopPreview();
            if (camera != null) {
                camera.release();
                mCamera = null;
            }

            finish();

另外,我只在某些Android设备上出现此错误,例如我的GS5没有抛出此错误,但我的Moto X确实如此。有没有办法确保将要完成的压缩足以让它不会在设备上引发错误?

谢谢!

0 个答案:

没有答案