如何为可下载字体提供自定义字体提供程序?

9
我希望编写一个自定义的字体提供者,以便在应用之间共享字体。根据文档所述,字体提供程序应该作为单独的应用程序安装:

字体提供程序是一种检索字体的应用程序。

但是,这个应用程序怎样才能被安装到用户设备上呢?显式地要求用户从Google Play安装它吗?这似乎不是很好的用户体验。

1
我想看到的是能够上传一个字体提供程序到Play商店,然后将其标记为应用的依赖项。这样,当用户尝试下载您的两个应用时,它们会(在幕后)仅需下载一次您的字体提供程序,然后两个应用都可以共享使用它。 - Elliott
希望你的问题已经解决,如果你能帮我分享字体提供程序的源代码就太好了。 - Dream Developer
你的实现是什么样子的?它只是一个实现了FontsContract的内容提供者吗? - dazza5000
我在这个问题之后没有回到它,但是我在GitHub上找到了一个实现 https://github.com/RikkaApps/FontProvider - Bracadabra
@Bracadabra 这个应用程序是像 Google Fonts 一样的实际字体提供者吗? - Florian Walther
1个回答

4
但是这个应用程序如何安装在用户设备上呢?
据我所知,与任何其他应用程序安装方式相同。
询问用户明确从Google Play安装它?
或者Yandex Store或其他地方。或者协商使其预安装在某些设备上。
这似乎不是很好的用户体验。
这将与为Android编写的任何其他应用程序的用户体验相同。
如果某些其他应用程序需要某些特定字体,而这又需要某些特定的字体提供程序应用程序,那么这将是一个糟糕的用户体验。然而,问题在于使用字体的应用程序,而不是字体提供程序本身。
考虑到使用非标准字体提供程序的所有麻烦(例如,必须为其烤入证书),我不认为这种提供程序会很受欢迎,除了Google自己的提供程序(即使我也不能推荐使用)。在我看来,字体提供程序感觉非常像在寻找真正问题的解决方案。

1
我遇到的问题是似乎只能通过另一个带有字体提供程序的应用程序或者通过与OEM的某些协商来实现。我同意你的看法,这种提供程序模式似乎在寻找一个真实存在的问题。很可能我们大多数人都会遇到“我的应用程序很大,我不想使用多个APK,但我需要添加新的字体”的问题,这正是我希望他们在定义字体提供程序时解决的问题。 - Elliott
如果这是一种自定义字体,那么很可能没有其他应用程序使用该字体。最好的做法似乎是将实际的字体文件作为资源捆绑并直接使用它。 - vanshg
除了Google Fonts在Android上,今天还有其他的字体提供商吗? - Florian Walther
@FlorianWalther:我没有听说过任何一个,但是,我也没有在寻找。 - CommonsWare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接