首页 > 解决方案 > 当我在列表中拥有这些图像的 Uris 时,如何使用库使用意图查看来自外部存储的多个图像

问题描述

我想从图像 URI 的数组列表中在默认图像查看应用程序(图库、谷歌照片等)中打开多个图像。但到目前为止我所取得的成就是它在我的数组列表中打开了包含这些图像的 URI 的第一个图像。我有安卓8.0。

我的清单中包含以下内容

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.provider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths"/>
</provider>

在 res/xml/provider_paths

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <!--<external-path name="external_files" path="."/>-->
    <external-path
        name="files_root"
        path="Android/data/${applicationId}"/>
    <external-path
        name="external_storage_root"
        path="."/>
</paths>

我在我的 onClickListener 中调用此方法

private void viewImage(ArrayList<String> list) {


    File file = new File(list.get(0));
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ? FileProvider.getUriForFile(mCtx, getPackageName() + ".provider", file) : Uri.fromFile(file),
            "image/jpeg").addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

    mCtx.startActivity(Intent.createChooser(intent, "Open"));
}

标签: javaandroid

解决方案


我想在默认图像查看应用程序中打开多个图像

对此没有任何Intent行动,抱歉。


推荐阅读