如何创建一个Intent来打开多张照片而无需先导航到“照片”

问题描述 投票:0回答:1

所以我试图从照片库中获取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...
    }
android android-intent android-image android-gallery onactivityresult
1个回答
0
投票

当您创建一个表示“我想要一些图像”的全局意图,并且有一些应用程序作为处理此操作的选项时,操作系统无法决定使用哪个应用程序完成此任务。

这段代码可以帮助你:

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);
© www.soinside.com 2019 - 2024. All rights reserved.