gio*_*ozh 2 android android-intent mime-types
我的目的是让用户选择图像:
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)
}
Run Code Online (Sandbox Code Playgroud)
现在我需要用户可以选择图像和 pdf 文档。我尝试更改类型字符串,例如
type = "image/*,application/pdf"
Run Code Online (Sandbox Code Playgroud)
或者喜欢
type = "image/*|application/pdf"
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
我也尝试添加额外的意图,例如
putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/*", "application/pdf"))
Run Code Online (Sandbox Code Playgroud)
但应用程序崩溃了。
我该如何解决它?
您的问题的答案在这里
这是我的示例代码,在 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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1893 次 |
| 最近记录: |