क्या दो एपीके अपलोड किए बिना उचित एसडीके संस्करण संख्याओं को निर्दिष्ट किए बिना केवल "कुछ होम स्क्रीन> विजेट्स" संवाद में विजेट दिखाना संभव है?क्या केवल एक निश्चित एंड्रॉइड संस्करण के लिए विजेट दिखाना संभव है?
उत्तर
मैं किसी भी कोड जैसे बिना यह करने के लिए एक तरह से है:
अपने रेस में \ महत्व देता dir एक bools.xml फ़ाइल बनाने:
<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="honeycombOrAbove">false</bool> </resources>
एक बनाएं मान-v11 डीआईआर (हनीकोम्ब या मानों के ऊपर), फ़ाइल को कॉपी करें और मान को सही पर सेट करें।
फिर विजेट रिसीवर के लिए मैनिफेस्ट में उपयोग करें: android: enable = "@ bool/honeycombOrAbove"। मैंने इसे विजेट के लिए कॉन्फ़िगरेशन गतिविधि में भी इस्तेमाल किया।
इसका मतलब है कि विजेट इंस्टॉल समय पर अक्षम है।
शानदार समाधान क्योंकि यह एप्लिकेशन स्थापित होने पर काम करता है और यह एक प्रावधान मुद्दा है। इसके लिए धन्यवाद - आपने आज सुबह एक समाधान के लिए शिकार का एक गुच्छा बचाया। –
बिल्कुल सही समाधान। यह वास्तव में स्वीकार्य जवाब होना चाहिए था! –
बहुत चालाक समाधान! निश्चित रूप से सबसे अच्छा जवाब! – pdegand59
आप इसे घटक सक्षम करने के साथ कर सकते हैं। बस उस विजेट को अक्षम करें जिसे आप सूचीबद्ध नहीं करना चाहते हैं। फ़ोन-पुनरारंभ करने के बाद परिवर्तन सक्रिय हो जाएगा।
Context context = getApplicationContext();
String str1 = "org.classname.to.widget.provider";
ComponentName componentName = new ComponentName(context, str1);
PackageManager packageManager = getPackageManager();
int versioncode = Integer.valueOf(android.os.Build.VERSION.SDK);
//enable widget
packageManager.setComponentEnabledSetting(componentName, 1, 1);
//disable widget
packageManager.setComponentEnabledSetting(componentName, 2, 1);
हाँ यह समाधान काम करता है हालांकि मुझे इसे थोड़ा बदलना पड़ा क्योंकि यह कोड ऐप के संस्करण संख्या की तलाश करता है, न कि एसडीके। आपका बहुत बहुत धन्यवाद! – Cloudgiant
आपने क्या बदल दिया? मैं संपादित कर सकता हूं और फिर आप अपनी समस्या के समाधान के रूप में उत्तर को स्वीकृति दे सकते हैं – berlindev
बस यह पंक्ति "int versioncode = Integer.valueOf (android.os.Build.VERSION.SDK);" और जोड़ा गया है कि – Cloudgiant
यह दिलचस्प होगा, न केवल संस्करण पर निर्भर करता है बल्कि अधिक चीजें। – berlindev
बेशक यह होगा :) मैंने अभी एंड्रॉइड संस्करण लिखा क्योंकि मुझे एपीआई प्रतिबंधों के कारण 2.1 के साथ समस्याएं आ रही हैं। – Cloudgiant