Открыть галерею устройства только для просмотра - PullRequest
0 голосов
/ 13 ноября 2011

Я нахожу этот код здесь, чтобы открыть галерею из моего собственного btn:

btnGallery.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), 0);
    }
});

Это работает, но когда я нажимаю на фотографию, она выходит из программы просмотра.

Полагаю, потому что "createChooser".

Как я могу изменить его, чтобы просматривать только фотографии, а не выбирать их?

1 Ответ

0 голосов
/ 13 ноября 2011

Насколько я знаю, это невозможно.

  1. Если у вас был доступ к полному имени класса занятия, чтобы запустить приложение "Галерея", вы можете назвать его, как обычно,Activity.startActivity(Context context, Class clazz).Но классы Gallery - это внутренний API, к которому у вас нет прямого доступа.

  2. Что ж, приложение Gallery доступно через бросание соответствующего Intent, как в вашем примере кода.Устанавливая имя действия intent.setAction(Intent.ACTION_GET_CONTENT), вы запрашиваете поведение, которое у вас есть (просмотрите все изображения, выберите одно, вернитесь к действиям вызывающего абонента с URI выбранного изображения).Существует также другое возможное действие Intent.ACTION_VIEW, и если оно установлено с помощью URI изображения, оно заставит Gallery показать это изображение для вас.Но это все, что мы можем запросить в Галерее (нет других предопределенных действий, соответствующих вашим потребностям - просто для просмотра изображений).

Итак, выход - создать собственное изображениеактивность браузера.

...