我怎样才能取代Android OS的默认日历?

时间:2012-08-23 13:34:43

标签: java android calendar

是否有任何官方或非官方API或黑客用其他日历(我自己的日历)替换Android操作系统的默认日历(格鲁吉亚日历)?如果您不熟悉,可以查看全球日历列表here

我是否必须覆盖DateFormatGregorianCalendarCalendar.getInstance()

(在编辑中添加)并且它会完全覆盖格里高利历的使用,例如在Android锁屏上吗?

谢谢:)

2 个答案:

答案 0 :(得分:4)

Calendar.getInstance()不是Android API。它是标准的Java API。 Calendar.getInstance()使用默认时区和区域设置调用createCalendar()。工厂方法getInstance()接受时区,区域设置和两者。这是影响创建的日历的方法。

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

修改

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

答案 1 :(得分:0)

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

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

修改

Xposed framework是我实现的梦想!从理论上讲,它可以用你想要的任何东西取代Android框架上的任何方法。但目前它与每个thissnapshot as 11/28/2013)的Android 4.4不兼容,我希望很快就会修复。