是的,Android FileChooser 可以支持多种文件类型。为了实现这个功能,您需要在创建 Intent 时指定可接受的 MIME 类型。以下是一个示例代码,展示了如何使用 FileChooser 选择多种文件类型:
private static final int FILE_PICK_REQUEST_CODE = 1; private void openFilePicker() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[]{"image/*", "video/*", "audio/*", "text/plain"}); startActivityForResult(Intent.createChooser(intent, "选择文件"), FILE_PICK_REQUEST_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == FILE_PICK_REQUEST_CODE && resultCode == RESULT_OK && data != null) { Uri uri = data.getData(); // 处理选中的文件 } }
在这个示例中,我们创建了一个 Intent,并设置了 MIME 类型为 “/”,表示可以选择任意类型的文件。然后,我们使用 Intent.EXTRA_MIME_TYPES
额外参数指定了可接受的 MIME 类型,包括图像、视频、音频和纯文本文件。最后,我们使用 startActivityForResult()
方法启动 FileChooser,并在 onActivityResult()
方法中处理选中的文件。