Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法读取多个文件_Android_File - Fatal编程技术网

Android 无法读取多个文件

Android 无法读取多个文件,android,file,Android,File,在“活动结果”中,我只选择了一个文件。尽管我选择了多个文件。为什么? Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("*/*"); intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); intent.

在“活动结果”中,我只选择了一个文件。尽管我选择了多个文件。为什么?

 Intent intent = new Intent(Intent.ACTION_PICK);
                            intent.setType("*/*");
                            intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
                            intent.setAction(Intent.ACTION_GET_CONTENT);
                            startActivityForResult(intent, READ_REQUEST_CODE);
List files=Utils.getSelectedFilesFromResult(resultData);
//结果数据putExtra(EXTRA\u允许\u倍数,true);
System.out.println(resultData.getBooleanExtra(EXTRA_ALLOW_MULTIPLE,false)+“读取请求代码”+files.size());
用于(Uri:文件){
uri=uris;//uri.parse(uris.getPath().toString().replaceFirst(“文件”,Environment.getExternalStorageDirectory().getPath());
//file2=Utils.getFileForUri(uri);
//对结果做点什么。。。
}

让我们在您的“活动结果”上尝试一下

List<Uri> files = Utils.getSelectedFilesFromResult(resultData);
              //  resultData.putExtra(EXTRA_ALLOW_MULTIPLE, true);
                System.out.println(resultData.getBooleanExtra(EXTRA_ALLOW_MULTIPLE,false)+"read request code"+files.size());
                for (Uri uris : files) {
                    uri = uris;//Uri.parse(uris.getPath().toString().replaceFirst("files", Environment.getExternalStorageDirectory().getPath()));
                    // file2 = Utils.getFileForUri(uri);
                    // Do something with the result...
                }
ClipData ClipData=resultData.getClipData();
ArrayList=newArrayList(clipdata.getItemCount());

您可以在onActivityResult()的
中尝试以下操作:

if(resultCode==Activity.RESULT\u确定){
if(data.getClipData()!=null){
int count=data.getClipData().getItemCount();
for(int i=0;i
我希望它能帮助您!没有帮助…..Intent.EXTRA\u ALLOW\u MULTIPLE它在Sdk18以上工作,并在此处打印结果数据。。。还有一件事,如果选择单个图像,如果多个文件使用resultData.getClipData(),则需要调用resultData.getData();
 ClipData clipdata = resultData.getClipData();
 ArrayList<Uri> mUriList = new ArrayList<>(clipdata.getItemCount());
    if(resultCode == Activity.RESULT_OK) {
        if(data.getClipData() != null) {
            int count = data.getClipData().getItemCount();
            for(int i = 0; i < count; i++)  
                Uri imageUri = data.getClipData().getItemAt(i).getUri();
                //do something with the image (save it to some directory or whatever you need to do with it here) 
            }
        } else if(data.getData() != null) {
            String imagePath = data.getData().getPath();
            //do something with the image (save it to some directory or whatever you need to do with it here)
        }
    }