我们这样调用相机意图:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File(imageDirectory.toString() + "/" + id + ".jpg")));
startActivityForResult(intent, CAMERA_INTENT);
我们这样处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// Log.v(TAG, ">>> onActivityResult()");
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
{
case CAMERA_INTENT:
handleCameraIntent(resultCode);
break;
case IMPORT_PICTURE_INTENT:
handleImportIntent(resultCode, data);
break;
default:
break;
}
}
这在 99% 的情况下都可以正常工作。但是,我们在 HTC Evo 3d 上进行测试,如果肖像是在横向模式下拍摄的,则不会调用 onActivityResult 方法。但是在纵向模式下会调用 onActivityResult。
有没有其他人遇到过这个?有简单的解决方案吗?
更新:看起来 onActivityResult 正在被调用,但在 onResume 之后。根据文档,这是不可能的......