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

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

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

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

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

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

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

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

  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.ComposeActivity" />
          <!-- 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

इससे यह तय होता है कि उपयोगकर्ता, Merchant Center की किसी सुविधा के शॉर्टकट का इस्तेमाल कर सकता है या नहीं लॉन्चर. 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 के प्लैटफ़ॉर्म पर अपने विज्ञापन दिखाए जा सकते हैं, जैसे कि Assistant Google Shortcuts इंटिग्रेशन लाइब्रेरी का इस्तेमाल करें.

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

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

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

यहां एक डाइनैमिक शॉर्टकट बनाने और उसे अपने ऐप्लिकेशन:

Kotlin

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)

Java

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

ShortcutManagerCompat.pushDynamicShortcut(context, shortcut);

Google Shortcuts इंटिग्रेशन लाइब्रेरी जोड़ें

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

उदाहरण के लिए, कोई मैसेजिंग ऐप्लिकेशन किसी संपर्क के लिए डाइनैमिक शॉर्टकट पुश कर सकता है नाम "एलेक्स" है जब कोई उपयोगकर्ता मैसेज भेजता है. डाइनैमिक शॉर्टकट के बाद अगर उपयोगकर्ता Assistant से पूछता है, तो "Ok Google, एलेक्स को मैसेज भेजो ExampleApp" के साथ Assistant, ExampleApp लॉन्च कर सकती है और उसे अपने-आप कॉन्फ़िगर कर सकती है एलेक्स को मैसेज भेजने के लिए.

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

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

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

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

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

          
          android.useAndroidX=true
          # Automatically convert third-party libraries to use AndroidX
          android.enableJetifier=true
          
          
  2. app/build.gradle में, Google के लिए डिपेंडेंसी जोड़ें शॉर्टकट इंटिग्रेशन लाइब्रेरी और ShortcutManagerCompat:

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

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

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

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

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

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

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

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

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

Kotlin

val shortcutManager = getSystemService(ShortcutManager::class.java)

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)
}

Java

ShortcutManager shortcutManager =
        context.getSystemService(ShortcutManager.class);

if (shortcutManager.isRequestPinShortcutSupported()) {
    // Enable the existing shortcut with the ID "my-shortcut".
    ShortcutInfo pinShortcutInfo =
            new 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.
    Intent pinnedShortcutCallbackIntent =
            shortcutManager.createShortcutResultIntent(pinShortcutInfo);

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

    shortcutManager.requestPinShortcut(pinShortcutInfo,
            successCallback.getIntentSender());
}

कस्टम शॉर्टकट गतिविधि बनाएं

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

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

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

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

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

शॉर्टकट की जांच करें

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

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