我需要发送byte[] data的Activity1到Activity2,为了写data("FileOutputStream.write(data)")一个JPG文件.我的最终.jpg文件可能超过1mb.
活动1:
public void onPictureTaken(byte[] data, Camera camera) {
Log.w("ImageSizeMyApp", String.valueOf(data.length));
mCamera.startPreview();
Intent shareWindow = new Intent(Activity1.this, Activity2.class);
shareWindow.putExtra("photo",data);
startActivity(shareWindow);
closeCamera();
Log.w("CameraActivity:", "onPictureTaken");
}
Run Code Online (Sandbox Code Playgroud)
在Activity2中:
Bundle extras = getIntent().getExtras();
data = extras.getByteArray("photo");
Run Code Online (Sandbox Code Playgroud)
我Log.w("ImageSizeMyApp", String.valueOf(data.length));用来得到这个:
ImageSizeMyApp:446367(此大小发送到下一个活动,一切都很好)
ImageSizeMyApp:577368(此尺寸关闭我的相机,不会发送到下一个活动)
所以500kb是Intent的限制维度.有没有其他稳定的方法来发送我的byte[]大于500kb的活动?
欢迎任何参考或建议.提前致谢!
更新:
我可以创建另一个类来存储byte []数组吗?或者使用静态变量更好?
我是android新手,我开发了一个示例应用程序,它从sd卡加载图像并使用图像视图控件显示为位图图像.现在我想修改我的应用程序,比如从字节数组加载bmp我有原始图像,宽度和高度,是否有任何人有这样的样本?