所以我试图从照片库中获取Uris的多个图像。它工作正常,但是当Intent启动时,它会指向“Open from”窗口,然后我必须单击左下角的“Photos”。然后我有机会点击“图片”并进行选择。
如果用户不必提前知道这一系列步骤,那将会更好。如果有一个意图允许他们立即选择他们的图像,我会喜欢它。
我已经通过Intent API挖了一点,但似乎每个人都使用Intent.ACTION_GET_CONTENT
和额外的Intent.EXTRA_ALLOW_MULTIPLE
。我想知道是否对此Intent进行了调整,可以绕过那些烦人的额外步骤。
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURES);
public void onActivityResult (int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SELECT_PICTURES)
{
if (resultCode == Activity.RESULT_OK)
{
if (data.getClipData() != null)
{
int count = data.getClipData().getItemCount();
for (int i = 0; i < count; i++)
{
Uri uri = data.getClipData().getItemAt(i).getUri();
uriList.add(i, uri);
}
}
}
}
// Some other stuff...
}
当您创建一个表示“我想要一些图像”的全局意图,并且有一些应用程序作为处理此操作的选项时,操作系统无法决定使用哪个应用程序完成此任务。
这段代码可以帮助你:
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
startActivityForResult(intent, SELECT_PICTURES);