在Eris上忽略EXTRA_OUTPUT,导致数据在G1上返回null
所以我尝试使用以下代码启动Camera活动:
//In public void captureImage()
...
Intent cameraIntent = new Intent(MediaStore.ACTION_CAPTURE_IMAGE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File("/sdcard/image.jpg")));
startActivityForResult(cameraIntent, REQUEST_CAMERA);
然后处理结果:
//In onActivityResult()
...
case REQUEST_CAMERA:
Intent intent = new Intent (CurrentScreen.this, NextScreen.this);
intent.putExtra(data);
startActivity(intent);
CurrentScreen.this.finish();
...
我使用intent.putExtra(data)
将小位图附加到意图,并在下一个活动中将其用作缩略图,并且全尺寸文件应该保存为/sdcard/image.jpg
。
这是预期的行为(根据文档),为缩略图设置一个小位图,并保存一个大文件。然而,当在G1和Eris上测试时,我一直看到一些奇怪的行为。
在G1上:
虽然resultCode显示RESULT_OK,但返回给结果处理程序的intent数据为null。
另外EXTRA_OUTPUT似乎完全被忽略了,我不知道它在哪里保存图像。
在厄里斯:
意图数据回来了
EXTRA_OUTPUT也会被忽略,但它会将图像保存到/sdcard/dcim/100media
的常规媒体商店
所以我的问题是:有什么方法可以使用标准相机活动获得我想要做的一致行为?我可以编写一个自定义活动来尝试让它按照我想要的方式工作,但我更愿意避开这条路线。
没有找到相关结果
已邀请:
1 个回复
盛虱