【问题标题】:Trouble with ACTION_GET_CONTENT and TTF filesACTION_GET_CONTENT 和 TTF 文件有问题
【发布时间】:2017-08-03 01:58:16
【问题描述】:

我试图让用户使用 Intent 在 Android 中选择 TTF 文件,但是使用 ACTION_GET_CONTENT 时打开的本机文档选择器有几个非常烦人的问题:

  1. 在原生 Android 文档选择器的导航抽屉中选择 DownloadsRecent 永远不会显示任何 TTF 文件,即使使用 mime 类型 */*
  2. 下载 部分甚至没有显示任何文件夹,用户可能在其中存储了一些字体(很可能是在将 ZIP 文件解压缩到下载文件夹中之后)。同样,mime 类型不会改变这种行为。
  3. 使用 mime 类型 application/x-font-ttf(例如建议的 here)总是使所有 TTF 文件灰显。我目前能得到的最好的东西是application/*,但它包括大量其他文件,例如PDF、ZIP 和 APK。

有什么办法可以解决以上问题吗?如果没有,有没有办法至少隐藏问题 1. 和 2. 的明显损坏的 DownloadsRecent 以及排除(!)mime 类型的一些魔术对于问题 3.,或者只是想打开文件管理器?

【问题讨论】:

  • 你有解决办法吗?

标签: android mime-types


【解决方案1】:

仅供参考,目前似乎没有真正的解决方案。我现在能想到的最好的方法是使用application/* 并检查用户选择的文件是否可以使用Typeface.createFromFile 制作成Typeface。如果该方法返回nullTypeface.DEFAULT 或抛出异常,则该文件不是字体。如果它确实返回了某些东西,我知道至少它是一种字体,但不知道它是否是 TTF。然后我假设如果扩展名是.ttf,它是一个TTF,在所有其他情况下我问用户:“这真的是一个TTF吗?”并相信他/她的回答。 真的到底是不是TTF只有在服务端才知道。

【讨论】:

    猜你喜欢
    • 2013-05-20
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 2018-10-27
    相关资源
    最近更新 更多