我有此意图让用户选择图像:
fun launchChooseFileIntent(callerFragment: BaseFragment, REQUEST_CODE: Int) {
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
addCategory(Intent.CATEGORY_OPENABLE)
type = "image/*,"
}
startActivityForResult(intent, REQUEST_CODE)
}
现在我需要用户可以选择图像和pdf文档。我尝试更改type字符串,如
type = "image/*,application/pdf"
或类似
type = "image/*|application/pdf"
但是它不起作用。
我也尝试过向意图添加更多内容,例如
putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/*", "application/pdf"))
但是应用程序崩溃。
我该如何解决?
您的问题的答案是here
这是我的示例代码,已在api 28中进行了测试。
Intent intent = new Intent();
intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
String[] mimeTypes = {"application/pdf", "text/csv", "text/plain"};
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
startActivityForResult(Intent.createChooser(intent, dialogTitle), requestCode);