Код результата действия всегда 0 (отмена), когда есть два или более действия для обработки намерения - PullRequest
2 голосов
/ 03 апреля 2019

У меня проблема, когда я запускаюActivityForResult, чтобы сделать снимок, resultCode всегда равен Activity.RESULT_CANCELED (0), если есть два или более приложений камеры, которые могут обработать это намерение (появляется средство выбора приложений).Но если я выберу одно из них в качестве приложения по умолчанию, и в следующий раз оно не предложит мне выбора, все будет работать нормально, и он берет изображение и обнаруживает его в onActivityResult в моем фрагменте, который запустил startActivityForResult ().То же самое происходит, когда я пытаюсь открыть галерею, чтобы выбрать картинку.Если есть два приложения галереи, я выбираю одно из них, результат выбора изображения всегда равен 0. Это код, который я использую для запуска приложения камеры:

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
 if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
      startActivityForResult(takePictureIntent, AppConstants.TAKE_PICURE_CAMERA_REQUEST_CODE);
  }

1 Ответ

1 голос
/ 04 апреля 2019

У меня была такая же проблема, когда в моей активности было launchMode="singleTask", но я изменил на singleTop, и это решило проблему

...