2013-04-19 12 views
17

मैं एक ऐसा एप्लिकेशन लिख रहा हूं जो उपयोगकर्ता के फोन की होम स्क्रीन पर विजेट (बस टेक्स्ट बॉक्स) जोड़ने में सक्षम होना चाहिए जब उपयोगकर्ता मेरे ऐप को ऐसा करने के लिए निर्देश देता है। मैं ऐसी चीज कैसे कर सकता हूं?मेरे ऐप से एंड्रॉइड होम स्क्रीन पर विजेट कैसे जोड़ें?

मुझे पता है कि मैं एक ऐप विजेट जोड़ सकता हूं लेकिन अधिक जोड़ने के बारे में कैसे?

+0

[AppWidgetHost को AppWidgets बाइंडिंग - एंड्रॉयड] की संभावित डुप्लिकेट (http://stackoverflow.com/questions/4258579/binding-appwidgets-to-appwidgethost-android) – rds

+0

@rds यह इस तरह दिखता है वास्तव में शिकार लक्ष्य होना चाहिए दूसरे के लिए। इस के पास अधिक उपयोगी उत्तर हैं, और दूसरे के रूप में दो बार देखा गया है। यहां देखें: http://meta.stackoverflow.com/questions/252929/which-question-is-the-better-reference-for-a- डुप्लिकेट –

+0

** एक ऐप विजेट ** कैसे जोड़ सकता है? मुझे इसकी ज़रूरत है लेकिन मुझे नहीं पता कि कैसे। –

उत्तर

24

ऐप से होम स्क्रीन में विजेट रखने के लिए यह संभव नहीं है। केवल होम स्क्रीन होम स्क्रीन पर ऐप विजेट जोड़ सकती है।

समान लिंक link1, link2, link3

लेकिन आप उपयोगकर्ता पेशकश कर सकते हैं widgetpicker से विजेट लेने के लिए।

Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK); 
    pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetID); 
    startActivityForResult(pickIntent, KEY_CODE); 
+0

मैंने इसे कई स्थानों पर पढ़ा है कि यह संभव है (यहां SO पर) लेकिन कोई भी समझाया नहीं गया कि कैसे। –

+0

कृपया मेरा संपादित उत्तर देखें। .. लिंक 2 में भी मार्क मर्फी ने कहा कि घर में विजेट को स्वचालित रूप से रखना संभव नहीं है .... – stinepike

+0

जैसा कि मैंने कहा था कि मैं स्वचालित रूप से विजेट जोड़ना नहीं चाहता हूं लेकिन उपयोगकर्ता को उन्हें जोड़ने का फैसला करने दें। –

2

AFAIK डिफ़ॉल्ट लॉन्चर ऐप इसका समर्थन नहीं करता है। कारण यह है कि उपयोगकर्ता को होम स्क्रीन पर सबकुछ रखना चाहिए। किसी एप्लिकेशन से विजेट्स को रखने की अनुमति देने से ऐप्स के लिए "स्पैम" उपयोगकर्ता के घर "उनके" उपयोगी विजेट के साथ दरवाजे खुल जाएंगे।

+0

मैं इसे इस तरह लिखने की कोशिश कर रहा हूं कि विजेट को रखने के लिए उपयोगकर्ता की बातचीत की आवश्यकता हो। –

3

यह बहुत समय पहले उत्तर दिया गया था, लेकिन अगर कोई इस प्रश्न पर ठोकर खाता है तो मैंने सोचा कि मुझे एक अद्यतित उत्तर देना चाहिए।

एंड्रॉइड ओ (एपीआई 26) के रूप में, अब आप अपने ऐप से उपयोगकर्ता के लॉन्चर को विजेट पिन कर सकते हैं!

बस अपने ऐप की AndroidManifest फ़ाइल में विजेट बनाएं और विजेट को लॉन्चर करने के लिए अनुरोध करने के लिए AppWidgetManager का उपयोग करें। ध्यान दें कि यह इस सुविधा का समर्थन करने के लिए लॉन्चर पर निर्भर है, इसलिए आपको इसे पिन करने का अनुरोध करने से पहले AppWidgetManager की isRequestPinAppWidgetSupported() विधि को कॉल करना होगा। https://developer.android.com/preview/features/pinning-shortcuts-widgets.html#widgets

आशा इस मदद करता है:

यहाँ कि और अधिक विस्तार में चला जाता है गूगल से कुछ प्रलेखन है!

संबंधित मुद्दे