Android 来自摄像机的损坏数据

Android 来自摄像机的损坏数据,android,android-camera,Android,Android Camera,我在一个特定的设备(BQ Aquaris M5-Android 5.0.2)上遇到了一些问题,它从onPictureTaken()摄像头回调返回一些数据。颜色完全弄乱了: 这以前从未发生过,我已经在几个设备上测试过,没有任何问题 我已经看到/尝试过的事情: 使用后摄像头而不是前摄像头,可以正确显示图像 SurfaceView将正确显示图像 增加照片拍摄和相机打开之间的延迟(之前我们有一个问题,导致图像模糊,在延迟几百毫秒后运行拍摄解决了这个问题) 回调中的数据已损坏。图像在GMaps活动中显

我在一个特定的设备(BQ Aquaris M5-Android 5.0.2)上遇到了一些问题,它从onPictureTaken()摄像头回调返回一些数据。颜色完全弄乱了:

这以前从未发生过,我已经在几个设备上测试过,没有任何问题

我已经看到/尝试过的事情:

  • 使用后摄像头而不是前摄像头,可以正确显示图像
  • SurfaceView将正确显示图像
  • 增加照片拍摄和相机打开之间的延迟(之前我们有一个问题,导致图像模糊,在延迟几百毫秒后运行拍摄解决了这个问题)
  • 回调中的数据已损坏。图像在GMaps活动中显示为图标标记,作为新意图的额外捆绑包传递(调整大小后)

    final byte[] photo = b.getByteArray("photo");
    Marker marker = map.addMarker(new MarkerOptions().position(new LatLng(lat, lon)));
    
    if (photo!=null){
        final Bitmap bmpPhoto = BitmapFactory.decodeByteArray(photo, 0, photo.length);
        marker.setIcon(BitmapDescriptorFactory.fromBitmap(bmpPhoto));            
    }