Я пытаюсь передать массив байтов из camera picture callback
, используя намерения для дальнейших действий. Я создал камеру, и она отлично работает, используя SurfaceView
.
Вот мой метод передачи необработанных байтов изображения:
private Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] bytes, Camera camera) {
Intent intent = new Intent(MainActivity.this, PreviewActivity.class);
intent.putExtra("image", bytes);
startActivity(intent);
}
};
Этот код запускает следующее действие, но появляется черный экран, и в логах я вижу это исключение:
android.os.TransactionTooLargeException: data parcel size 1712172 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:622)
at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:915)
at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1421)
at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:901)
at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:7529)
at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:7600)
at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:541)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3065)
at android.os.Binder.execTransact(Binder.java:570)
Я пропустил коды поверхности, для краткости.
Какие варианты у меня есть, чтобы передать это на следующий вид деятельности? Спасибо.