0

我们这样调用相机意图:

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 之后。根据文档,这是不可能的......

4

0 回答 0