android - 有意图地传递原始相机字节数组
问题描述
我正在尝试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)
为了简洁起见,我跳过了surfaceview代码。我必须通过哪些选项将其传递给下一个活动?谢谢。
解决方案
推荐阅读
- angular - 未定义标识符“长度”。'null' 不包含这样的成员 ng(0)
- electron - 如何在 executeJavascript 中使用 ipcRender?
- python-3.x - 将我的变量中的字符串列表与我的 pandas 表匹配
- php - foreach 仅返回最后一项如何获取所有项目
- c++ - 汽车有什么问题?
- javascript - Parse-Server Cloud 函数语法问题
- css - Angular中的浮动位置
- docker - 使用 docker 安装的 nextcloud 显示内部服务器错误
- python - 如何删除矩阵中的重复值?
- java - 如何使用 Java 将 json 数组转换为 CSV 文件