1

ユーザーがメディア ライブラリから写真を選択できるようにしたいのですが、ビデオを選択できるようにしたくありません。写真を選択するだけに制限するのに苦労しています。を使用してギャラリーアプリを開くと

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

その後、写真とビデオの両方を選択できます。写真のみを選択するように制限する方法はありますか?

4

2 に答える 2

5

そのためには、 を使用して MIME タイプを「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 に当てはまります。

于 2011-11-21T21:13:10.150 に答える
1

別のオプションは、ACTION_GET_CONTENTの代わりに使用することですACTION_PICK。URI をまったく指定しなくても、必要な MIME タイプを設定できます。

于 2011-11-21T21:24:14.577 に答える