Как я могу ограничить пользователя только подбором фотографий из Android MediaStore? - PullRequest
1 голос
/ 22 ноября 2011

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

new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)

, тогда они могут выбирать фотографии и видео.Есть ли способ ограничить их только выбором фотографий?

Ответы [ 2 ]

5 голосов
/ 22 ноября 2011

Для этого вам также нужно установить тип пантомимы на «image / *», используя Intent.setType(String type).

ОБНОВЛЕНИЕ: Похоже, правильный способ установить тип Uri и MIME:

Intent intent = new Intent(Intent.ACTION_PICK);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");

ОБНОВЛЕНИЕ 2: Это потому, что когда мы устанавливаем тип MIME или данные URI отдельно, посмотрите, что происходит (взято из Intent источников):

public Intent setType(String type) {
    mData = null;
    mType = type;
    return this;
}

public Intent setData(Uri data) {
    mData = data;
    mType = null;
    return this;
}

По крайней мере, это верно для API 2.2.

1 голос
/ 22 ноября 2011

Другой вариант будет использовать ACTION_GET_CONTENT вместо ACTION_PICK. Это позволяет вам установить желаемый тип MIME, не указывая вообще URI.

...