IMAGE_CAPTURE Intent永远不会返回onActivityResult(int,int,Intent);

时间:2009-06-26 21:20:37

标签: java android

我这样开始IMAGE_CAPTURE意图,我的活动onActivityResult()被调用:

Intent i = new Intent (android.provider.MediaStore.ACTION_IMAGE_CAPTURE, null);
i.putExtra("return-data", true);
startActivityForResult(i, PICK_ICON_FROM_CAMERA_ID);

但是,如果我像这样开始我的意图,捕获图像意图确实被调用,但我的活动的onActivityResult()永远不会被调用:

Intent i = new Intent (android.provider.MediaStore.ACTION_IMAGE_CAPTURE, null);
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.parse("file:/" + "MyTestFile"));
i.putExtra("outputFormat",    Bitmap.CompressFormat.PNG.name());
startActivityForResult(i, PICK_ICON_FROM_CAMERA_ID);

你能告诉我如何让2 nd 案件发挥作用吗?

1 个答案:

答案 0 :(得分:2)

我认为“file:/ MyTestFile”是一个不正确的uri。尝试类似的东西:

File f=new File(Environment.getExternalStorageDirectory(),  "MyTestFile");
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(f));

实际路径为“/ sdcard / MyTestFile”。