У меня есть кнопка, которая ведет к тому, что приложение камеры установлено на телефоне, и это работает нормально. Однако на некоторых телефонах приложение камеры не возвращает никаких результатов, и одно приложение возвращает поврежденное изображение. Я установил на эти телефоны еще лучшее приложение для камеры, но я не могу заставить его работать, пока установлены старые приложения для камеры.
Разве Android не должен автоматически спрашивать меня, какое приложение я хочу использовать, если есть несколько кандидатов? Нужно ли мне делать что-то еще в моем приложении, чтобы сделать это?
Изменить: это даже на телефонах, у которых никогда не было диалогового окна "Выбрать по умолчанию приложение камеры" в их жизни. Даже если я использую Intent.createChooser(намерение, "Выбрать приложение для камеры" ); выбор не появляется.
Вот код, который я использую:
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(intent, RESULT_TAKEPHOTO);
Вы должны использовать метод createChooser () класса Intent. Ваш код будет выглядеть примерно так.
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(Intent.createChooser(intent, "Choose cam application"), RESULT_TAKEPHOTO);