Android - Запустите папку «Галерея» и выберите изображение - PullRequest
2 голосов
/ 02 февраля 2012

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

Используя этот код:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("content://media/external/images/media"))); 

Он возвращает мне все изображения в галерее из разных фотоальбомов, где я хотел бы только отобразить альбом камеры по умолчанию (это возможно?), И когда я нажимаю на изображение, чтобы просмотреть его, все нормально, пока Я нажимаю кнопку «Назад», кнопка «Назад» возвращается прямо к моему приложению и не остается в галерее. Я бы хотел, чтобы кнопка «Назад» вернулась в галерею (чтобы пользователь мог просматривать и другие изображения), это возможно?

Буду признателен за любую помощь и спасибо за ваше время и вклад:)

Пока что это то, что я получил

Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
intent.setDataAndType(Uri.parse("content://media/external/images/media"), "image/*");
        startActivityForResult(intent, 0); 

Но всякий раз, когда я загружаю щелчок, чтобы загрузить изображение, оно сразу направляет меня обратно в мое приложение, не загружая изображение. Может кто-то помочь мне с этим? Спасибо!

1 Ответ

1 голос
/ 02 февраля 2012

Используйте startActivityForResult () вместо startActivity (), поскольку вам нужны данные, возвращаемые вам.Наряду с этим вам необходимо использовать Intent.ACTION_PICK .

В частности, для этого вам нужно, чтобы ваше приложение взаимодействовало с галереей.Для этого потребуется вернуть изображение обратно в приложение.

Это легко определить, если вы посмотрите на Манифест для приложения Галерея.

Вы можете найти его здесь: https://github.com/android

Обновление манифеста галереи

<intent-filter>
           <action android:name="android.intent.action.PICK" />
           <category android:name="android.intent.category.DEFAULT" />
           <data android:mimeType="image/*" />
           <data android:mimeType="video/*" />
</intent-filter>

Это означает, что вам просто нужно установить данные и тип mime.

...