8

是否有任何官方或非官方 API 或黑客可以将 Android OS 的默认日历(格鲁吉亚日历)替换为另一个日历(我自己的日历)?如果您不熟悉它们,您可以在这里查看世界各地的日历列表。

我可以重写DateFormatGregorianCalendarCalendar.getInstance()吗?

(在编辑中添加)它会完全覆盖公历的使用,例如在 Android 锁屏上吗?

谢谢 :)

4

2 回答 2

4

Calendar.getInstance()不是Android API。它是标准的 Java API。使用默认时区和语言环境Calendar.getInstance()调用。createCalendar()getInstance()接受时区、语言环境和两者的工厂方法。这是影响创建日历的方式。

例如,据我所知,发送日语语言环境会导致创建JapaneseImperialCalendar.

编辑

有几个预定义的日历:BuddistCalendar和日文日历。并且显然是默认GregorianCalendar的。您可以使用添加自己的“扩展” Locale.setExtension(char key, String value)。我从来没有做过,但它应该可以工作。但是,您应该自己深入研究代码以找出正确的参数。祝你好运。

于 2012-08-23T13:43:17.253 回答
0

好吧,这是不可能的。我最初担心的是锁屏日历现在似乎可以在 Android 4.2 上为另一种日历类型放置一个新的小部件,所以我已经失去了寻找这个问题的解决方案的兴趣(虽然我认为它必须以某种方式...... )!

现在我认为唯一真正的解决方案是修补 AOSP 本身以在 GUI 中使用当然与这个问题无关的其他日历。

编辑:

Xposed框架是我实现的梦想!从理论上讲,它可以用你想要的任何东西替换 Android 框架上的任何方法。但目前它与 Android 4.4不兼容(快照为 2013年 11 月 28 日),我希望尽快修复。

于 2012-11-22T19:43:16.317 回答