विजेट को खोजने लायक बनाना

Android 8.0 (एपीआई लेवल 26) और इसके बाद के वर्शन पर चलने वाले डिवाइसों पर, ऐसे लॉन्चर उपलब्ध हैं जो लोगों को पिन किए गए शॉर्टकट बनाने की सुविधा देते हैं. ये लॉन्चर, लोगों को अपनी होम स्क्रीन पर विजेट पिन करने की सुविधा भी देते हैं. पिन किए गए शॉर्टकट की तरह ही, पिन किए गए विजेट से लोगों को आपके ऐप्लिकेशन में कुछ खास टास्क ऐक्सेस करने की सुविधा मिलती है. इन्हें सीधे ऐप्लिकेशन से होम स्क्रीन पर जोड़ा जा सकता है. इसके बारे में यहां दिए गए वीडियो में बताया गया है.

रिस्पॉन्सिव लेआउट का उदाहरण
दूसरी इमेज. विजेट को पिन करने का उदाहरण.

उपयोगकर्ताओं को विजेट पिन करने की अनुमति दें

अपने ऐप्लिकेशन में, सिस्टम से किसी विजेट को पिन करने का अनुरोध किया जा सकता है. इसके लिए, यह तरीका अपनाएं. हालांकि, ऐसा सिर्फ़ उन लॉन्चर के लिए किया जा सकता है जो इस सुविधा के साथ काम करते हैं:

  1. पक्का करें कि आपने अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में विजेट का एलान किया हो.

  2. requestPinAppWidget() तरीके को कॉल करें. इसके लिए, यहां दिया गया कोड स्निपेट देखें:

Kotlin

val appWidgetManager = AppWidgetManager.getInstance(context)
val myProvider = ComponentName(context, ExampleAppWidgetProvider::class.java)

if (appWidgetManager.isRequestPinAppWidgetSupported()) {
    // Create the PendingIntent object only if your app needs to be notified
    // when the user chooses to pin the widget. Note that if the pinning
    // operation fails, your app isn't notified. This callback receives the ID
    // of the newly pinned widget (EXTRA_APPWIDGET_ID).
    val successCallback = PendingIntent.getBroadcast(
            /* context = */ context,
            /* requestCode = */ 0,
            /* intent = */ Intent(...),
            /* flags = */ PendingIntent.FLAG_UPDATE_CURRENT)

    appWidgetManager.requestPinAppWidget(myProvider, null, successCallback)
}

Java

AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
ComponentName myProvider = new ComponentName(context, ExampleAppWidgetProvider.class);

if (appWidgetManager.isRequestPinAppWidgetSupported()) {
    // Create the PendingIntent object only if your app needs to be notified
    // when the user chooses to pin the widget. Note that if the pinning
    // operation fails, your app isn't notified. This callback receives the ID
    // of the newly pinned widget (EXTRA_APPWIDGET_ID).
    PendingIntent successCallback = PendingIntent.getBroadcast(
            /* context = */ context,
            /* requestCode = */ 0,
            /* intent = */ new Intent(...),
            /* flags = */ PendingIntent.FLAG_UPDATE_CURRENT);

    appWidgetManager.requestPinAppWidget(myProvider, null, successCallback);
}

उपयोगकर्ता, विजेट पिकर या आपके ऐप्लिकेशन से विजेट ढूंढते हैं और उसे जोड़ते हैं. ऐसा तब होता है, जब विजेट का फ़ंक्शन सबसे ज़्यादा काम का होता है. ज़्यादा जानकारी के लिए, खोज और प्रमोशन लेख पढ़ें.