如何实现“Android 文件选择支持多文件选择”

一、整体流程

为了实现Android文件选择支持多文件选择,我们需要经过以下步骤:

gantt
    title 文件选择多选过程

    section 文件选择
        准备工作               :done, 2021-10-01, 1d
        创建文件选择界面       :done, 2021-10-02, 2d
        实现多文件选择功能     :done, 2021-10-04, 2d

二、详细步骤

1. 准备工作

在AndroidManifest.xml文件中添加文件选择权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2. 创建文件选择界面

在Activity或Fragment中创建一个按钮,点击按钮触发文件选择功能:

Button selectButton = findViewById(R.id.select_button);
selectButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 打开文件选择器
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("*/*");
        intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); // 允许多选
        startActivityForResult(Intent.createChooser(intent, "Select files"), REQUEST_CODE);
    }
});

3. 实现多文件选择功能

在Activity或Fragment中重写onActivityResult方法,处理文件选择的结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
        if (data != null) {
            if (data.getClipData() != null) {
                ClipData clipData = data.getClipData();
                for (int i = 0; i < clipData.getItemCount(); i++) {
                    Uri uri = clipData.getItemAt(i).getUri();
                    // 处理选择的文件uri
                }
            } else {
                Uri uri = data.getData();
                // 处理选择的文件uri
            }
        }
    }
}

三、总结

通过以上步骤,我们成功实现了Android文件选择支持多文件选择的功能。在实际开发中,你可以根据自己的需求对文件选择界面进行定制化,比如添加筛选条件、文件类型限制等。希望这篇文章对你有所帮助,祝你在Android开发的道路上越走越远!