是的,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()
方法中处理选中的文件。