我在尝试与我的应用共享单个或多个文件时遇到了这个问题。当我选择一个文件并点击共享图标并选择我的应用程序时,我得到了文件的 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/