我有一个应用允许用户通过 CSV 或包含多个文件的压缩包导出和/或导入批量数据。
目前它使用第三方库(ar.com.daidalos.afiledialog),但我正在尝试迁移到用户更可能熟悉的存储访问框架(并且看起来更像“android” -y”)。当前库无法使用云端硬盘,这是我想添加的额外功能。
我让它正常工作,因此可以导出为两种格式。我可以选择一个 CSV 文件来阅读:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/*");
startActivityForResult(intent,4);
但是当我将类型更改为“application/zip”(或任何更宽松的东西)以使 zip 可选择时,文件选择器将 zip 文件视为另一个目录并显示其内容而不是选择它。看起来它正在响应 .zip 扩展名,因为当我将它从文件中删除时它使它可以选择(如果我不能正确解决这个问题,这可能会给我一个解决方法)。
所以问题是,我如何告诉选择器选择 zip 文件而不是下降到其中?我必须使用 zip 文件,因为现有用户已经导出了他们可能需要阅读的那种格式的数据。
最佳答案
供以后遇到此问题的人引用,由于 CommonsWare 的评论,此问题已“解决”。该问题似乎只出现在 Genymotion 模拟器上。在真实设备上,它如我所愿地工作。
关于android - 有没有办法选择一个 zip 文件以使用存储访问框架打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48067076/