我需要一个可行的解决方案来解决这个问题。我使用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确实如此。有没有办法确保将要完成的压缩足以让它不会在设备上引发错误?
谢谢!