You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ActivityResultLauncher无法筛选CSV文件问题求助

解决ActivityResultLauncher筛选CSV文件失效的问题

问题原因

Libre Office Calc生成的CSV文件,被系统识别的MIME类型不一定是标准的text/csv,可能是text/plain或者application/csv,导致单一指定text/csv时无法匹配,文件呈灰色不可选中。

解决方案

通过指定多个CSV相关的MIME类型来覆盖不同工具生成的文件,既能过滤非CSV文件,又能选中LibreOffice生成的目标文件:

  1. 调整Launcher的启动参数,传入包含多种MIME类型的字符串数组:
// 注册ActivityResultLauncher
ActivityResultLauncher<String[]> myActivityResultLauncher = registerForActivityResult(
    new ActivityResultContracts.GetContent(),
    uri -> {
        if (uri != null) {
            // 处理选中的CSV文件逻辑
        }
    }
);

// 启动文件选择器,传入多MIME类型数组
myActivityResultLauncher.launch(new String[]{"text/csv", "text/plain", "application/csv"});

补充说明

不同操作系统、文件生成工具对CSV文件的MIME类型标注存在差异,同时指定text/csv、text/plain、application/csv这三种最常见的类型,基本能覆盖绝大多数场景下的CSV文件,同时避免出现*/*那样无差别允许所有文件的情况。

内容的提问来源于stack exchange,提问作者Zelig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 11:48:10