【发布时间】:2011-06-23 16:32:45
【问题描述】:
我有一个活动允许我用相机拍摄图像,我想将此图像作为 Intent extra 发送到父活动。但是,如果我真的尝试将图像添加到意图中,突然之间,finish() 调用似乎永远不会做任何事情,并且我的活动永远不会关闭。
这是我的一些代码:
public void onPictureTaken(byte[] imageData, Camera c)
{
if (imageData != null) {
// Send the result as a byte array
Intent intent = new Intent();
intent.putExtra("imagedata", imageData);
setResult(RESULT_OK, intent);
finish();
}
}
奇怪的是,如果我注释掉 putExtra() 调用,那么它一切正常(当然没有图像)并且我的活动关闭并且我点击了父级的 onActivityResult() 回调。但是如果我把线路留在里面,那么活动永远不会关闭,回调也永远不会触发。
我尝试在附加组件中添加更多琐碎的东西,例如字符串,并且一切都完美无缺。 putExtra() 被允许获取一个字节数组,我什至尝试将它包装为一个位图并发送它,但它也不起作用。我唯一能想到的是,我不应该将这么大的东西传递给 Intent,在这种情况下,我想我会尝试将其写入文件。只是写入文件应该比只传递字节数组引用要慢,这就是我尝试这样做的原因。
有什么想法吗?在此先感谢:)
手机:三星 Galaxy S API 级别:7
【问题讨论】: