Результат для MediaStore.ACTION_IMAGE_CAPTURE всегда равен -1, но данные не возвращаются - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь выбрать / захватить изображение из галереи / камеры (соответственно), используя следующий код:

val pickIntent = Intent()
        pickIntent.type = "image/*"
        pickIntent.action = Intent.ACTION_GET_CONTENT
        val takePhotoIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
        val pickTitle = "Select or take a new Picture"
        val chooserIntent = Intent.createChooser(pickIntent, pickTitle)
        chooserIntent.putExtra(
            Intent.EXTRA_INITIAL_INTENTS, arrayOf(takePhotoIntent)
        )
        startActivityForResult(chooserIntent, REQUEST_IMAGE_CAPTURE)

Однако я всегда получаю код результата для активности как -1, когда onActivityResult функция вызывается. У меня, кажется, есть данные, когда опция галереи ничем не используется при вызове камеры.

У меня нет никаких исключений для возврата, и я не знаю, что отлаживать.

Я использую эмулятор для проверки своего приложения.

1 Ответ

1 голос
/ 21 марта 2020

Этот 'код результата для действия как -1' означает, что RESULT_OK. Используйте .getData (), чтобы получить результат и решить, что вы хотите с ним сделать.

    switch (requestCode) {
      case REQUEST_IMAGE_CAPTURE: {
        if (resultCode == RESULT_OK) {
          try {
            Uri uri = data.getData();
            Log.d(TAG, uri.toString());
          } catch (Exception e) { e.printStackTrace(); }
        }
      } break;
      default: break;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...