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