是否有任何官方或非官方 API 或黑客可以将 Android OS 的默认日历(格鲁吉亚日历)替换为另一个日历(我自己的日历)?如果您不熟悉它们,您可以在这里查看世界各地的日历列表。
我可以重写DateFormat或GregorianCalendar或Calendar.getInstance()吗?
(在编辑中添加)它会完全覆盖公历的使用,例如在 Android 锁屏上吗?
谢谢 :)
是否有任何官方或非官方 API 或黑客可以将 Android OS 的默认日历(格鲁吉亚日历)替换为另一个日历(我自己的日历)?如果您不熟悉它们,您可以在这里查看世界各地的日历列表。
我可以重写DateFormat或GregorianCalendar或Calendar.getInstance()吗?
(在编辑中添加)它会完全覆盖公历的使用,例如在 Android 锁屏上吗?
谢谢 :)
Calendar.getInstance()
不是Android API。它是标准的 Java API。使用默认时区和语言环境Calendar.getInstance()
调用。createCalendar()
有getInstance()
接受时区、语言环境和两者的工厂方法。这是影响创建日历的方式。
例如,据我所知,发送日语语言环境会导致创建JapaneseImperialCalendar
.
编辑
有几个预定义的日历:BuddistCalendar
和日文日历。并且显然是默认GregorianCalendar
的。您可以使用添加自己的“扩展” Locale.setExtension(char key, String value)
。我从来没有做过,但它应该可以工作。但是,您应该自己深入研究代码以找出正确的参数。祝你好运。
好吧,这是不可能的。我最初担心的是锁屏日历现在似乎可以在 Android 4.2 上为另一种日历类型放置一个新的小部件,所以我已经失去了寻找这个问题的解决方案的兴趣(虽然我认为它必须以某种方式...... )!
现在我认为唯一真正的解决方案是修补 AOSP 本身以在 GUI 中使用当然与这个问题无关的其他日历。
编辑:
Xposed框架是我实现的梦想!从理论上讲,它可以用你想要的任何东西替换 Android 框架上的任何方法。但目前它与 Android 4.4不兼容(快照为 2013年 11 月 28 日),我希望尽快修复。