是否有任何官方或非官方API或黑客用其他日历(我自己的日历)替换Android操作系统的默认日历(格鲁吉亚日历)?如果您不熟悉,可以查看全球日历列表here。
我是否必须覆盖DateFormat或GregorianCalendar或Calendar.getInstance()?
(在编辑中添加)并且它会完全覆盖格里高利历的使用,例如在Android锁屏上吗?
谢谢:)
答案 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框架上的任何方法。但目前它与每个this(snapshot as 11/28/2013)的Android 4.4不兼容,我希望很快就会修复。