क्या कोई आधिकारिक या गैर-आधिकारिक API है या किसी अन्य कैलेंडर (मेरा अपना कैलेंडर) के साथ एंड्रॉइड ओएस के डिफ़ॉल्ट कैलेंडर (जॉर्जियाई कैलेंडर) को प्रतिस्थापित करने के लिए हैक है? यदि आप उनसे परिचित नहीं हैं तो आप दुनिया भर के कैलेंडर here की सूची देख सकते हैं।मैं एंड्रॉइड ओएस के डिफ़ॉल्ट कैलेंडर को कैसे बदल सकता हूं?
मई मुझे DateFormat या GregorianCalendar या Calendar.getInstance() ओवरराइड करना चाहिए?
(एक संपादन पर जोड़ा गया) और क्या यह पूरी तरह से ग्रेगोरियन कैलेंडर का उपयोग ओवरराइड करेगा, उदाहरण के लिए एंड्रॉइड लॉक-स्क्रीन पर?
धन्यवाद :)
आपके त्वरित उत्तर के लिए धन्यवाद :) यदि आप कैलेंडर के जेडीके स्रोत के विपरीत एंड्रॉइड स्रोत कैलेंडर.जावा देखते हैं (http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/tip/ src/share/classes/जावा/उपयोग/कैलेंडर.जावा), आप उस पर createCalendar() नहीं ढूंढ सकते हैं। यह इस पर संबंधित हिस्से का स्रोत है: सार्वजनिक स्थैतिक सिंक्रनाइज़ कैलेंडर getInstance() {नया ग्रेगोरियन कैलेंडर() लौटाएं; } –
@EbrahimByagowi: "इस विधि को ओवरराइड करना (कुछ हैकरिश तरीके से) एंड्रॉइड यूआई में कैलेंडर के सभी उपयोग को प्रभावित करेगा" - ओह '$ DEITY' नहीं। स्पष्ट सुरक्षा कारणों से, इस फैशन में अन्य अनुप्रयोगों को प्रभावित करने के लिए, आपके पास कोई एसडीके एप्लिकेशन से कोई अधिकार नहीं है। फोर्क एंड्रॉइड में आपका स्वागत है, ऑपरेटिंग सिस्टम को बदलें, इसे एक संशोधित रॉम में कनवर्ट करें, और अपनी पसंद के डिवाइस पर इंस्टॉल करें, अगर आप सभी एप्लिकेशन को प्रभावित करना चाहते हैं। – CommonsWare
@EbrahimByagowi CommonsWare 100% सही है (हमेशा के रूप में)। यदि आप चाहते हैं कि आपका कुछ कोड इस तरह से इंजेक्ट करना है कि जब भी डिवाइस पर कोई भी ऐप कैलेंडर बनाता है, तो वे डिफ़ॉल्ट रूप से कैलेंडर बनाने के लिए अपना कोड चलाते हैं, फिर आप जो वर्णन कर रहे हैं वह वायरस का काम कितना है । आपका स्पष्ट रूप से दुर्भावनापूर्ण नहीं है, लेकिन यह उपलब्ध कराने के लिए ढांचा क्या नहीं है।आपको केवल उस कोड को लिखना है जो आपके क्षेत्र में काम करता है, या आप ढांचे को लिखते हैं (एंड्रॉइड का अपना संस्करण बनाएं)। हो सकता है कि आपने विस्तार से बताया कि आप सभी कैलेंडर क्यों अपना कैलेंडर बनना चाहते हैं, तो हम और अधिक मदद कर सकते हैं? – xbakesx