android.net.Uri$HierarchicalUri 无法转换为 java.util.ArrayList

标签 android arraylist uri

我在尝试与我的应用共享单个或多个文件时遇到了这个问题。当我选择一个文件并点击共享图标并选择我的应用程序时,我得到了文件的 uri,而当我选择多个文件时,我得到了一个 uri 数组列表。下面是我的代码。

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
   // AuthDetails.initiate(this);
    setContentView(R.layout.activity_pdfupload);

    ArrayList<String> fileUriList= (ArrayList<String>) getIntent().getExtras().get(Intent.EXTRA_STREAM);
    Log.e("urilist", fileUriList.toString());


    init();

    btCancel.setOnClickListener(cancelUploadListener);
    btUploadPDF.setOnClickListener(uploadPdfListener);
}

我收到以下异常。

Caused by: java.lang.ClassCastException: android.net.Uri$HierarchicalUri cannot be cast to java.util.ArrayList
                                                                at com.example.newActivity.activities.PDFUploadActivity.onCreate(PDFUploadActivity.java:44)

有没有办法同时管理单选和多选场景?

最佳答案

试试这个

ArrayList<Uri> fileUriList = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
Log.e("urilist", fileUriList.toString());

关于android.net.Uri$HierarchicalUri 无法转换为 java.util.ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37184801/

相关文章:

android - 如何在 Android Studio 中恢复卡住的代码分析?

java - synchronized 在 Vector/ArrayList 的上下文中意味着什么?

Android:FileProvider.getUriForFile 读取 MediaStore 生成的文件?

android - 从 android 日历中检索最后添加的事件的数据

Android - 获取图像资源到 Uri : IllegalArgumentException

android - ConstraintLayout-Params 被忽略

android-3.0-honeycomb - 在蜂窝中执行 "lights out mode"的 API 调用在哪里?

android - 为什么图标/图像在平板电脑上看起来模糊(不清晰),但在 android 手机上看起来很好?

java - 电话资费计算器

java - 使用 Timer 和 ArrayList 更新 TextView