我试图使用Intent从我的手机内存中选择多个图像并将uri存储在阵列中,但我不知道我该怎么做才能帮助我。
我只能获得一张图片,这是我的代码:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
Uri uri=data.getData();
}
使用" intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE,true);"它允许我选择多个图像但是在选择之后如何获得所有选择的图像?
答案 0 :(得分:1)
uri总是以相同的方式获得,通常我使用这种方法来推断一个值:
private Uri detectFileToUploadUri(Intent data) {
Uri result = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
ClipData clip = data.getClipData();
if (clip != null) {
for (int i = 0; i < clip.getItemCount(); i++) {
Uri uri = clip.getItemAt(i).getUri();
if (uri != null) {
result = uri;
break;
}
}
}
}
if (result == null && data.getData() != null) {
result = data.getData();
}
return result;
}
要获得更多Uri,您可以删除中断并将结果添加到uri列表中。
ClipData clip = data.getClipData();
if (clip != null) {
for (int i = 0; i < clip.getItemCount(); i++) {
Uri uri = clip.getItemAt(i).getUri();
if (uri != null) {
results.add(uri);
}
}
}
最好在你的onActivityResult代码中插入一个if:&#34; if(requestCode == 1)&#34;。