Почему Android не запрашивает нужное приложение камеры из моего приложения?

1

У меня есть кнопка, которая ведет к тому, что приложение камеры установлено на телефоне, и это работает нормально. Однако на некоторых телефонах приложение камеры не возвращает никаких результатов, и одно приложение возвращает поврежденное изображение. Я установил на эти телефоны еще лучшее приложение для камеры, но я не могу заставить его работать, пока установлены старые приложения для камеры.

Разве 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);
Теги:
camera

1 ответ

0

Вы должны использовать метод 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);
  • 0
    Я посмотрел на это, но это появляется только тогда, когда нормальный появится в любом случае, с той лишь разницей, что вы не можете выбрать по умолчанию для запуска вместо показа выбора (что было бы желательно в этом случае, выбрать только в первый раз). В моем случае даже эта принудительная версия не показывает сборщик. Это похоже на то, что ни в одном другом приложении камеры теги намерений не установлены правильно, поэтому он не отвечает на выбор. Это не имеет смысла, поэтому я просто предположил, что это как-то вина моего приложения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню