onActivityResult не вызывается, когда снимок сделан в ландшафтном режиме (HTC Evo 3d) - PullRequest
0 голосов
/ 31 августа 2011

Мы называем камеру намерением так:

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. Согласно документации это невозможно ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...