微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android 目录显示未正确列出文件类型

如何解决Android 目录显示未正确列出文件类型

我有尝试打开 GPX 文件代码

public void performFileSearch(String type) {
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    intent.setType("application/*");
    String[] mimeTypes = new String[]{type.equals("KMZ")?"application/vnd.google-earth.kmz":"application/gpx+xml"};
    intent.putExtra(Intent.EXTRA_MIME_TYPES,mimeTypes);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(Intent.createChooser(intent,"Choose file"),DIR_ACCESS_REQUEST_CODE);
    } else {
        Log.d("****File","Unable to resolve Intent.ACTION_OPEN_DOCUMENT");
    }
}

它适用于在设备本身上下载的文件。但是,如果从我的 Windows 桌面复制 GPX 文件,该文件在 Android 列表中会显示为灰色,且文件类型不正确(请参见下面的屏幕截图)。

即使使用从同一服务器下载的相同文件(例如所示列表中的“ElmFarm”),如果在浏览器上从 Chrome 下载,它也能正确显示。如果从 Windows 上的 Chrome 或 iPhone 上的 Safari 下载,然后复制到 Android 手机(使用 Windows 文件资源管理器,或通过电子邮件),它显示为类型“bin”(或“csv”)并且无法加载到我的应用程序。如果我在 Android Studio 中使用“设备文件资源管理器”,这些文件内容是相同的。

这里出了什么问题?看起来 Mime 类型嵌入在文件中的某处,但它们在哪里以及为什么会发生变化?

app screenshot

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。