शॉर्टकट बनाएं

शॉर्टकट की मदद से, उपयोगकर्ताओं को खास तरह का कॉन्टेंट दिखाया जाता है. इससे उन्हें आपके ऐप्लिकेशन के कुछ हिस्सों को तुरंत ऐक्सेस करने में मदद मिलती है.

ऐप्लिकेशन शॉर्टकट और पिन किए गए शॉर्टकट के बीच का अंतर
पहली इमेज. ऐप्लिकेशन के शॉर्टकट और पिन किए गए शॉर्टकट.

शॉर्टकट की मदद से कॉन्टेंट डिलीवर करने का तरीका, आपके इस्तेमाल के उदाहरण पर निर्भर करता है. साथ ही, यह भी इस बात पर निर्भर करता है कि शॉर्टकट का कॉन्टेक्स्ट, ऐप्लिकेशन पर आधारित है या उपयोगकर्ता पर आधारित है. स्टैटिक शॉर्टकट का कॉन्टेक्स्ट नहीं बदलता है. वहीं, डाइनैमिक शॉर्टकट का कॉन्टेक्स्ट लगातार बदलता रहता है. हालांकि, दोनों ही मामलों में कॉन्टेक्स्ट को आपका ऐप्लिकेशन तय करता है. जब कोई उपयोगकर्ता यह चुनता है कि आपका ऐप्लिकेशन उसे कॉन्टेंट कैसे डिलीवर करे, तो कॉन्टेक्स्ट को उपयोगकर्ता तय करता है. जैसे, पिन किए गए शॉर्टकट के मामले में. यहां कुछ ऐसे उदाहरण दिए गए हैं जिनमें हर तरह के शॉर्टकट का इस्तेमाल किया जा सकता है:

  • स्टैटिक शॉर्टकट उन ऐप्लिकेशन के लिए सबसे सही होते हैं जो किसी ऐसे कॉन्टेंट से लिंक होते हैं जिसका स्ट्रक्चर, ऐप्लिकेशन के साथ उपयोगकर्ता के इंटरैक्शन के दौरान एक जैसा रहता है. ऐसा इसलिए, क्योंकि ज़्यादातर लॉन्चर एक बार में सिर्फ़ चार शॉर्टकट दिखाते हैं. इसलिए, स्टैटिक शॉर्टकट किसी रूटीन टास्क को एक जैसे तरीके से पूरा करने के लिए काम के होते हैं. जैसे, अगर उपयोगकर्ता को अपने कैलेंडर या ईमेल को किसी खास तरीके से देखना है.
  • डाइनैमिक शॉर्टकट का इस्तेमाल, ऐप्लिकेशन में ऐसी कार्रवाइयों के लिए किया जाता है जो कॉन्टेक्स्ट के हिसाब से होती हैं. कॉन्टेक्स्ट के हिसाब से काम करने वाले शॉर्टकट, ऐप्लिकेशन में उपयोगकर्ताओं की कार्रवाइयों के हिसाब से बनाए जाते हैं. उदाहरण के लिए, अगर आपने ऐसा गेम बनाया है जिसमें उपयोगकर्ता, गेम लॉन्च करने पर अपने मौजूदा लेवल से गेम शुरू कर सकता है, तो आपको शॉर्टकट को बार-बार अपडेट करना होगा. डाइनैमिक शॉर्टकट का इस्तेमाल करके, उपयोगकर्ता के हर लेवल पूरा करने पर शॉर्टकट को अपडेट किया जा सकता है.
  • पिन किए गए शॉर्टकट का इस्तेमाल, उपयोगकर्ता की ओर से की जाने वाली खास कार्रवाइयों के लिए किया जाता है. उदाहरण के लिए, कोई उपयोगकर्ता किसी वेबसाइट को लॉन्चर में पिन करना चाहता है. यह फ़ायदेमंद है, क्योंकि इससे उपयोगकर्ता को अपनी पसंद के मुताबिक कार्रवाई करने का विकल्प मिलता है. जैसे, एक ही चरण में वेबसाइट पर जाना. यह कार्रवाई, ब्राउज़र के डिफ़ॉल्ट इंस्टेंस का इस्तेमाल करने की तुलना में ज़्यादा तेज़ी से होती है.

स्टैटिक शॉर्टकट बनाना

स्टैटिक शॉर्टकट, आपके ऐप्लिकेशन में सामान्य कार्रवाइयों के लिंक उपलब्ध कराते हैं. ये कार्रवाइयां, आपके ऐप्लिकेशन के मौजूदा वर्शन की लाइफ़टाइम में एक जैसी होनी चाहिए. स्टैटिक शॉर्टकट के लिए, भेजे गए मैसेज देखना, अलार्म सेट करना, और दिन भर की उपयोगकर्ता की कसरत की गतिविधि दिखाना अच्छे विकल्प हैं.

स्टैटिक शॉर्टकट बनाने के लिए, यह तरीका अपनाएं:

  1. अपने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में, उस गतिविधि को ढूंढें जिसके इंटेंट फ़िल्टर, android.intent.action.MAIN कार्रवाई और android.intent.category.LAUNCHER कैटगरी पर सेट किए गए हैं.
  2. इस ऐक्टिविटी में <meta-data> एलिमेंट जोड़ें. यह उस रिसॉर्स फ़ाइल को रेफ़रंस करता है जहां ऐप्लिकेशन के शॉर्टकट तय किए गए हैं:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.example.myapplication">
      <application ... >
        <activity android:name="Main">
          <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
          <meta-data android:name="android.app.shortcuts"
                     android:resource="@xml/shortcuts" />
        </activity>
      </application>
    </manifest>
    
  3. res/xml/shortcuts.xml नाम की नई संसाधन फ़ाइल बनाएं.

  4. नई संसाधन फ़ाइल में, <shortcuts> रूट एलिमेंट जोड़ें. इसमें <shortcut> एलिमेंट की सूची शामिल होती है. हर <shortcut> एलिमेंट में, स्टैटिक शॉर्टकट के बारे में जानकारी शामिल करें. जैसे, उसका आइकॉन, ब्यौरे के लेबल, और ऐप्लिकेशन में लॉन्च होने वाले इंटेंट:

    <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
      <shortcut
        android:shortcutId="compose"
        android:enabled="true"
        android:icon="@drawable/compose_icon"
        android:shortcutShortLabel="@string/compose_shortcut_short_label1"
        android:shortcutLongLabel="@string/compose_shortcut_long_label1"
        android:shortcutDisabledMessage="@string/compose_disabled_message1">
        <intent
          android:action="android.intent.action.VIEW"
          android:targetPackage="com.example.myapplication"
          android:targetClass="com.example.myapplication.Main" />
        <!-- If your shortcut is associated with multiple intents, include them
             here. The last intent in the list determines what the user sees when
             they launch this shortcut. -->
        <categories android:name="android.shortcut.conversation" />
        <capability-binding android:key="actions.intent.CREATE_MESSAGE" />
      </shortcut>
      <!-- Specify more shortcuts here. -->
    </shortcuts>
    

एट्रिब्यूट की वैल्यू को पसंद के मुताबिक बनाना

यहां दी गई सूची में, स्टैटिक शॉर्टकट में मौजूद अलग-अलग एट्रिब्यूट के बारे में बताया गया है. android:shortcutId और android:shortcutShortLabel के लिए कोई वैल्यू डालें. अन्य सभी वैल्यू ज़रूरी नहीं हैं.

android:shortcutId

यह एक स्ट्रिंग लिटरल है. यह तब शॉर्टकट दिखाता है, जब ShortcutManager ऑब्जेक्ट इस पर कार्रवाइयां करता है.

android:shortcutShortLabel

कम शब्दों में ऐसा वाक्यांश जो शॉर्टकट के मकसद के बारे में बताता हो. जब भी हो सके, इस छोटे ब्यौरे में ज़्यादा से ज़्यादा 10 वर्ण इस्तेमाल करें.

ज़्यादा जानकारी के लिए, setShortLabel() देखें.

android:shortcutLongLabel

यह एक ऐसा वाक्यांश होता है जिसमें शॉर्टकट के मकसद के बारे में ज़्यादा जानकारी दी जाती है. अगर जगह उपलब्ध है, तो लॉन्चर android:shortcutShortLabel के बजाय यह वैल्यू दिखाता है. अगर हो सके, तो इस लंबे ब्यौरे में 25 से ज़्यादा वर्ण इस्तेमाल न करें.

ज़्यादा जानकारी के लिए, setLongLabel() देखें.

android:shortcutDisabledMessage

यह मैसेज, उपयोगकर्ता को उस लॉन्चर में दिखता है जो इस सुविधा के साथ काम करता है. यह मैसेज तब दिखता है, जब उपयोगकर्ता बंद किए गए शॉर्टकट को लॉन्च करने की कोशिश करता है. मैसेज में, उपयोगकर्ता को यह बताना ज़रूरी है कि शॉर्टकट क्यों बंद किया गया है. अगर android:enabled true है, तो इस एट्रिब्यूट की वैल्यू का कोई असर नहीं पड़ता.

android:enabled

इस कुकी से यह तय होता है कि उपयोगकर्ता, शॉर्टकट के साथ इंटरैक्ट कर सकता है या नहीं. इसके लिए, उसे ऐसे लॉन्चर का इस्तेमाल करना होगा जो इस सुविधा के साथ काम करता हो. android:enabled की डिफ़ॉल्ट वैल्यू true है. अगर आपने इसे false पर सेट किया है, तो android:shortcutDisabledMessage सेट करें. इससे यह पता चलेगा कि आपने शॉर्टकट को बंद क्यों किया है. अगर आपको लगता है कि इस तरह का मैसेज देने की ज़रूरत नहीं है, तो शॉर्टकट को एक्सएमएल फ़ाइल से पूरी तरह हटा दें.

android:icon

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

इनर एलिमेंट कॉन्फ़िगर करना

किसी ऐप्लिकेशन के स्टैटिक शॉर्टकट की सूची वाली एक्सएमएल फ़ाइल में, हर <shortcut> एलिमेंट के अंदर ये एलिमेंट इस्तेमाल किए जा सकते हैं. आपको तय किए गए हर स्टैटिक शॉर्टकट के लिए, intent इनर एलिमेंट शामिल करना ज़रूरी है.

intent

जब उपयोगकर्ता शॉर्टकट चुनता है, तब सिस्टम कौनसी कार्रवाई लॉन्च करता है. इस इंटेंट के लिए, android:action एट्रिब्यूट की वैल्यू देना ज़रूरी है.

एक शॉर्टकट के लिए कई इंटेंट दिए जा सकते हैं. ज़्यादा जानकारी के लिए, एक से ज़्यादा इंटेंट और गतिविधियां मैनेज करना, इंटेंट सेट करना, और TaskStackBuilder क्लास रेफ़रंस देखें.

categories

यह आपके ऐप्लिकेशन के शॉर्टकट से की जाने वाली कार्रवाइयों को ग्रुप करता है. जैसे, नए चैट मैसेज बनाना.

शॉर्टकट की जिन कैटगरी के लिए यह सुविधा उपलब्ध है उनकी सूची देखने के लिए, ShortcutInfo क्लास रेफ़रंस देखें.

capability-binding

यह शॉर्टकट से जुड़ी क्षमता के बारे में बताता है.

पिछले उदाहरण में, शॉर्टकट को CREATE_MESSAGE के लिए तय की गई सुविधा से लिंक किया गया है. यह ऐप्लिकेशन कार्रवाइयां का बिल्ट-इन इंटेंट है. इस सुविधा के ज़रिए, लोग Google Assistant को बोलकर निर्देश दे सकते हैं. इससे वे शॉर्टकट को चालू कर सकते हैं.

डाइनैमिक शॉर्टकट बनाना

डाइनैमिक शॉर्टकट, आपके ऐप्लिकेशन में मौजूद किसी खास कार्रवाई के लिंक होते हैं. ये लिंक, कॉन्टेक्स्ट के हिसाब से काम करते हैं. ये कार्रवाइयां, ऐप्लिकेशन के इस्तेमाल के दौरान और ऐप्लिकेशन के चालू रहने के दौरान बदल सकती हैं. डाइनैमिक शॉर्टकट का इस्तेमाल इन कामों के लिए किया जा सकता है: किसी व्यक्ति को कॉल करना, किसी जगह पर नेविगेट करना, और उपयोगकर्ता के आखिरी सेव पॉइंट से गेम लोड करना. बातचीत खोलने के लिए, डाइनैमिक शॉर्टकट का भी इस्तेमाल किया जा सकता है.

ShortcutManagerCompat Jetpack लाइब्रेरी, ShortcutManager एपीआई के लिए एक हेल्पर है. इसकी मदद से, अपने ऐप्लिकेशन में डाइनैमिक शॉर्टकट मैनेज किए जा सकते हैं. ShortcutManagerCompat लाइब्रेरी का इस्तेमाल करने से, बॉयलरप्लेट कोड कम हो जाता है. साथ ही, यह पक्का करने में मदद मिलती है कि आपके शॉर्टकट, Android के सभी वर्शन पर एक जैसा काम करें. डाइनैमिक शॉर्टकट को पुश करने के लिए भी इस लाइब्रेरी की ज़रूरत होती है, ताकि वे Google Shortcuts Integration Library के साथ, Assistant जैसे Google के प्लैटफ़ॉर्म पर दिख सकें.

ShortcutManagerCompat API की मदद से, आपका ऐप्लिकेशन डाइनैमिक शॉर्टकट के साथ ये काम कर सकता है:

  • पुश और अपडेट करें: डाइनैमिक शॉर्टकट पब्लिश और अपडेट करने के लिए, pushDynamicShortcut() का इस्तेमाल करें. अगर एक ही आईडी वाले डाइनैमिक या पिन किए गए शॉर्टकट पहले से मौजूद हैं, तो बदलाव किए जा सकने वाले हर शॉर्टकट को अपडेट किया जाता है.
  • हटाएं: removeDynamicShortcuts() का इस्तेमाल करके, डाइनैमिक शॉर्टकट का सेट हटाएं. removeAllDynamicShortcuts() का इस्तेमाल करके, सभी डाइनैमिक शॉर्टकट हटाएं.

शॉर्टकट पर कार्रवाइयां करने के बारे में ज़्यादा जानने के लिए, शॉर्टकट मैनेज करना और ShortcutManagerCompat रेफ़रंस देखें.

यहां डाइनैमिक शॉर्टकट बनाने और उसे अपने ऐप्लिकेशन से जोड़ने का उदाहरण दिया गया है:

val shortcut = ShortcutInfoCompat.Builder(context, "id1")
        .setShortLabel("Website")
        .setLongLabel("Open the website")
        .setIcon(IconCompat.createWithResource(context, R.drawable.icon_website))
        .setIntent(Intent(Intent.ACTION_VIEW,
                Uri.parse("https://www.mysite.example.com/")))
        .build()

ShortcutManagerCompat.pushDynamicShortcut(context, shortcut)

Google Shortcuts Integration Library जोड़ना

Google Shortcuts Integration Library, Jetpack की एक ऐसी लाइब्रेरी है जिसका इस्तेमाल करना ज़रूरी नहीं है. इसकी मदद से, डाइनैमिक शॉर्टकट को पुश किया जा सकता है. ये शॉर्टकट, Android के प्लैटफ़ॉर्म पर दिखाए जा सकते हैं. जैसे, लॉन्चर और Google के प्लैटफ़ॉर्म. इस लाइब्रेरी का इस्तेमाल करने से, उपयोगकर्ताओं को आपके ऐप्लिकेशन में मौजूद शॉर्टकट खोजने में मदद मिलती है. इससे वे किसी खास कॉन्टेंट को तुरंत ऐक्सेस कर पाते हैं या कार्रवाइयों को फिर से चला पाते हैं.

इस लाइब्रेरी के साथ पुश किए गए डाइनैमिक शॉर्टकट, डिवाइस के हिसाब से लागू होने वाली शॉर्टकट की सीमाओं के दायरे में नहीं आते. इससे आपका ऐप्लिकेशन, उपयोगकर्ता के आपके ऐप्लिकेशन में किसी कार्रवाई को पूरा करने पर, हर बार एक शॉर्टकट पुश कर सकता है. इस तरह से बार-बार शॉर्टकट पुश करने से, Google को आपके ऐप्लिकेशन को इस्तेमाल करने के उपयोगकर्ता के पैटर्न को समझने में मदद मिलती है. साथ ही, वह उन्हें कॉन्टेक्स्ट के हिसाब से काम के शॉर्टकट सुझा सकता है.

उदाहरण के लिए, फ़िटनेस ट्रैक करने वाले ऐप्लिकेशन से पुश किए गए शॉर्टकट से Assistant को यह जानकारी मिल सकती है कि कोई उपयोगकर्ता आम तौर पर हर सुबह दौड़ता है. ऐसे में, जब उपयोगकर्ता सुबह अपना फ़ोन उठाता है, तो Assistant उसे "दौड़ शुरू करें" शॉर्टकट का सुझाव दे सकती है.

Google Shortcuts Integration Library, खुद कोई ऐसी सुविधा नहीं देती है जिससे किसी फ़ंक्शन को कॉल किया जा सके. इस लाइब्रेरी को अपने ऐप्लिकेशन में जोड़ने से, Google के प्लैटफ़ॉर्म पर आपके ऐप्लिकेशन के शॉर्टकट दिखते हैं. ये शॉर्टकट, ShortcutManagerCompat का इस्तेमाल करके पुश किए जाते हैं.

अपने ऐप्लिकेशन में इस लाइब्रेरी का इस्तेमाल करने के लिए, यह तरीका अपनाएं:

  1. AndroidX लाइब्रेरी के साथ काम करने के लिए, अपनी gradle.properties फ़ाइल अपडेट करें:

    android.useAndroidX=true
    # Automatically convert third-party libraries to use AndroidX
    android.enableJetifier=true
    
  2. app/build.gradle में, Google Shortcuts Integration Library और ShortcutManagerCompat के लिए डिपेंडेंसी जोड़ें:

    dependencies {
      implementation "androidx.core:core:1.6.0"
      implementation 'androidx.core:core-google-shortcuts:1.0.0'
      ...
    }
    

Android प्रोजेक्ट में लाइब्रेरी डिपेंडेंसी जोड़ने के बाद, आपका ऐप्लिकेशन ShortcutManagerCompat से pushDynamicShortcut() तरीके का इस्तेमाल कर सकता है. इससे, डाइनैमिक शॉर्टकट को पुश किया जा सकता है. ये शॉर्टकट, लॉन्चर और Google के प्लैटफ़ॉर्म पर दिखने की ज़रूरी शर्तें पूरी करते हैं.

पिन किए गए शॉर्टकट बनाना

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

अपने ऐप्लिकेशन का इस्तेमाल करके, किसी शॉर्टकट को ऐसे लॉन्चर में पिन करने के लिए यहां दिया गया तरीका अपनाएं:

  1. isRequestPinShortcutSupported() का इस्तेमाल करके यह पुष्टि करें कि डिवाइस के डिफ़ॉल्ट लॉन्चर में, ऐप्लिकेशन में शॉर्टकट पिन करने की सुविधा काम करती है.
  2. शॉर्टकट मौजूद है या नहीं, इसके आधार पर ShortcutInfo ऑब्जेक्ट बनाने के लिए, यहां दिए गए दो तरीकों में से किसी एक का इस्तेमाल करें:

    1. अगर शॉर्टकट मौजूद है, तो एक ShortcutInfo ऑब्जेक्ट बनाएं. इसमें सिर्फ़ मौजूदा शॉर्टकट का आईडी शामिल होना चाहिए. सिस्टम, शॉर्टकट से जुड़ी अन्य सभी जानकारी अपने-आप ढूंढकर पिन कर देता है.
    2. अगर आपको कोई नया शॉर्टकट पिन करना है, तो एक ShortcutInfo ऑब्जेक्ट बनाएं. इसमें नए शॉर्टकट के लिए आईडी, इंटेंट, और छोटा लेबल शामिल होना चाहिए.
  3. requestPinShortcut() को कॉल करके, डिवाइस के लॉन्चर में शॉर्टकट पिन करें. इस प्रोसेस के दौरान, PendingIntent ऑब्जेक्ट पास किया जा सकता है. यह ऑब्जेक्ट, आपके ऐप्लिकेशन को सिर्फ़ तब सूचना देता है, जब शॉर्टकट पिन हो जाता है.

    शॉर्टकट पिन करने के बाद, आपका ऐप्लिकेशन updateShortcuts() तरीके का इस्तेमाल करके, उसके कॉन्टेंट को अपडेट कर सकता है. ज़्यादा जानकारी के लिए, अपडेट करने के शॉर्टकट लेख पढ़ें.

यहां दिए गए कोड स्निपेट में, पिन किए गए शॉर्टकट को बनाने का तरीका बताया गया है.

val shortcutManager = getSystemService<ShortcutManager>()

if (shortcutManager!!.isRequestPinShortcutSupported) {
    // Enable the existing shortcut with the ID "my-shortcut".
    val pinShortcutInfo = ShortcutInfo.Builder(context, "my-shortcut").build()

    // Create the PendingIntent object only if your app needs to be notified
    // that the user let the shortcut be pinned. If the pinning operation fails,
    // your app isn't notified. Assume here that the app implements a method
    // called createShortcutResultIntent() that returns a broadcast intent.
    val pinnedShortcutCallbackIntent = shortcutManager.createShortcutResultIntent(pinShortcutInfo)

    // Configure the intent so that your app's broadcast receiver gets the
    // callback successfully. For details, see PendingIntent.getBroadcast().
    val successCallback = PendingIntent.getBroadcast(context, /* request code */ 0,
            pinnedShortcutCallbackIntent, /* flags */ 0)

    shortcutManager.requestPinShortcut(pinShortcutInfo,
            successCallback.intentSender)
}

अपनी पसंद के मुताबिक शॉर्टकट गतिविधि बनाना

यह कस्टम डायलॉग ऐक्टिविटी है. इसमें &#39;क्या आपको Gmail लॉन्चर आइकॉन को अपनी होम स्क्रीन पर जोड़ना है?&#39; प्रॉम्प्ट दिखता है कस्टम विकल्प के तौर पर, &#39;अभी नहीं&#39; और &#39;आइकॉन जोड़ें&#39; विकल्प उपलब्ध हैं.
दूसरी इमेज. कस्टम ऐप्लिकेशन के शॉर्टकट वाले डायलॉग बॉक्स की गतिविधि का उदाहरण.

आपके पास एक खास गतिविधि बनाने का विकल्प भी होता है. इससे उपयोगकर्ताओं को शॉर्टकट बनाने में मदद मिलती है. इसमें कस्टम विकल्प और पुष्टि करने वाला बटन भी शामिल होता है. दूसरी इमेज में, Gmail ऐप्लिकेशन में इस तरह की गतिविधि का उदाहरण दिखाया गया है.

अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में, गतिविधि के <intent-filter> एलिमेंट में ACTION_CREATE_SHORTCUT जोड़ें. इस एलान से, शॉर्टकट बनाने की कोशिश करने पर उपयोगकर्ता को ये सुविधाएं मिलती हैं:

  1. सिस्टम, आपके ऐप्लिकेशन की खास गतिविधि शुरू करता है.
  2. उपयोगकर्ता, शॉर्टकट के लिए विकल्प सेट करता है.
  3. उपयोगकर्ता, पुष्टि करने वाला बटन चुनता है.
  4. आपका ऐप्लिकेशन, createShortcutResultIntent() तरीके का इस्तेमाल करके शॉर्टकट बनाता है. यह तरीका एक Intent दिखाता है. आपका ऐप्लिकेशन, setResult() का इस्तेमाल करके, इसे पहले से चल रही गतिविधि पर वापस भेजता है.
  5. ऐप्लिकेशन, आपकी गतिविधि के आधार पर finish() कॉल करता है. इस गतिविधि का इस्तेमाल, पसंद के मुताबिक बनाए गए शॉर्टकट को बनाने के लिए किया जाता है.

इसी तरह, आपका ऐप्लिकेशन इंस्टॉल होने के बाद या पहली बार लॉन्च होने पर, उपयोगकर्ताओं को होम स्क्रीन पर पिन किए गए शॉर्टकट जोड़ने के लिए प्रॉम्प्ट कर सकता है. यह तरीका असरदार है, क्योंकि इससे आपके उपयोगकर्ताओं को अपने सामान्य वर्कफ़्लो के हिस्से के तौर पर शॉर्टकट बनाने में मदद मिलती है.

शॉर्टकट आज़माना

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

  • अपने ऐप्लिकेशन के लॉन्चर आइकॉन को दबाकर रखें. इससे आपको ऐप्लिकेशन के लिए तय किए गए शॉर्टकट दिखेंगे.
  • किसी शॉर्टकट को डिवाइस के लॉन्चर में पिन करने के लिए, उसे खींचें और छोड़ें.