Gibt es eine offizielle oder nicht offizielle API oder einen Hack, um den Standardkalender (georgischer Kalender) von Android OS durch einen anderen Kalender (meinen eigenen Kalender) zu ersetzen? Sie können die Liste der Kalender auf der ganzen Welt hier sehen, wenn Sie mit ihnen nicht vertraut sind.
Darf ich DateFormat oder GregorianCalendar oder Calendar.getInstance () ?
(An einer Änderung hinzugefügt) Und wird es die Verwendung des Gregorianischen Kalenders vollständig außer Kraft setzen, zum Beispiel auf dem Android-Sperrbildschirm?
Danke:)
Okay, das ist nicht möglich. Meine ursprüngliche Sorge war über den Sperrbildschirm Kalender, der jetzt scheint, ist möglich, ein neues Widget für einen anderen Kalendertyp auf Android 4.2 setzen, so habe ich mein Interesse verloren, Lösung dieses Problems zu finden (während ich denke, dass es irgendwie möglich sein muss ... )!
Jetzt denke ich, dass die einzige wirkliche Lösung darin besteht, AOSP selbst zu patchen, um andere Kalender in der GUI zu verwenden, die natürlich nicht mit dieser Frage in Verbindung stehen.
Bearbeiten:
Xposed Framework ist mein Traum, der wahr wurde! Theoretisch kann es jede Methode auf Android Framework mit allem, was Sie wollen, ersetzen. Aber zur Zeit ist es nicht kompatibel mit Android 4.4 pro das ( Schnappschuss als 28.11.2013 ), die ich hoffe, bald behoben.
Calendar.getInstance()
ist nicht die Android-API. Es ist Standard Java API. Calendar.getInstance()
ruft createCalendar()
mit Standardzeitzone und Gebietsschema auf. Es gibt Factory-Methoden getInstance()
, die Zeitzone, Gebietsschema und beides akzeptieren. Auf diese Weise wird der erstellte Kalender beeinflusst.
Zum Beispiel, soweit ich weiß, sendet die japanische locale cause creation instance von JapaneseImperialCalendar
.
BEARBEITEN
Es gibt ein paar vordefinierte Kalender: BuddistCalendar
und japanischer Kalender. Und natürlich standardmäßig GregorianCalendar
. Sie können Ihre eigene "Erweiterung" mit Locale.setExtension(char key, String value)
hinzufügen. Ich habe es noch nie gemacht, aber es sollte funktionieren. Sie sollten jedoch in den Code eintauchen, um die richtigen Parameter herauszufinden. Viel Glück.