使用Intents从Android上的照片库中选择多个图像

问题描述 投票:29回答:4

@看这个https://stackoverflow.com/a/15029515/185022

我试图从图库中选择图像,但我只找到了选择单个图像的方法。

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, 1);

有没有办法选择多个图像?

java android image gallery
4个回答

4
投票

首先,您需要将putExtra与photoPickerIntent一起使用

photoPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE);

然后在你的on活动结果中,你应该像这样从Intent获取ClipData

ClipData clipData = data.getClipData();
//Where data is param intent of onActivityForResult

并迭代此clipData以获取特定拾取图像的URI。

for (int i = 0; i < clipData.getItemCount(); i++){
    Uri uri = clipData.getItemAt(i).getUri();
}

我希望这有帮助


1
投票

你为什么不试试ACTION_SEND_MULTIPLE的事情。你将收到一套Uris。

就像是

    if (Intent.ACTION_SEND_MULTIPLE.equals(action))
        && Intent.hasExtra(Intent.EXTRA_STREAM)) {
        ArrayList<Parcelable> list =
    intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
        for (Parcelable parcel : list) {
           Uri uri = (Uri) parcel;
           /// do things here.
       }
    } 

在google-groups帖子上看到这个代码块。试试吧。谢谢。


1
投票

我认为,您应该为多个图像选择操作实现自定义库。

详细了解here

© www.soinside.com 2019 - 2024. All rights reserved.