Почему я не могу получить результат от намерения камеры? - PullRequest
0 голосов
/ 10 февраля 2019

Это действительно странно.Мой код отлично работает на одном устройстве (MOTO G5S с Android 7), но не работает на другом (Galaxy S9 с Android 9).

Я хочу сделать снимок, и вот мой код для этого:

private void takePicture(int file_id) {

    camFileId = file_id;

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE_SECURE);
    File file = new File(wrkDir + currFullImageDir + "/" + file_id + ConstValues.IMG_FILE_EXTENSION);
    Uri uri = FileProvider.getUriForFile(context, context.getPackageName() + ".provider", file);
    intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, uri);
    ((Activity) context).startActivityForResult(intent, ConstValues.CAM_REQEST_CODE);
}

Запуск Camera Intent работает на обоих устройствах.Но на MOTO G5S, когда снимок сделан, есть кнопка, чтобы принять или отменить снимок.На S9 ничего подобного нет.Когда снимок сделан, намерение камеры не возвращается вообще.Если нажать кнопку «Назад», она возвращается, но в пределах onActivityResult(..) мои данные равны нулю (конечно).

Я что-то не так делаю или есть что-то особенное для S9?

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