Android 7.1.1 रिलीज़ की मदद से, डेवलपर अपने ऐप्लिकेशन में किसी खास ऐक्शन के लिए शॉर्टकट तय कर सकते हैं. ये शॉर्टकट, लॉन्चर में दिखाए जा सकते हैं. इन ऐप्लिकेशन के शॉर्टकट की मदद से, उपयोगकर्ता किसी ऐप्लिकेशन में सामान्य या सुझाए गए टास्क तुरंत शुरू कर सकते हैं.
हर शॉर्टकट, किसी इंटेंट का रेफ़रंस देता है. जब उपयोगकर्ता शॉर्टकट चुनते हैं, तो यह इंटेंट ऐप्लिकेशन में कोई खास कार्रवाई शुरू करता है. ऐप्लिकेशन के शॉर्टकट के तौर पर बताई जा सकने वाली कार्रवाइयों के उदाहरणों में ये शामिल हैं:
- उपयोगकर्ताओं को मैपिंग ऐप्लिकेशन में किसी खास जगह पर ले जाना
- किसी दोस्त को कम्यूनिकेशन ऐप्लिकेशन में मैसेज भेजना
- मीडिया ऐप्लिकेशन में किसी टीवी शो का अगला एपिसोड चलाना
- गेमिंग ऐप्लिकेशन में आखिरी सेव पॉइंट लोड करना
उदाहरण और सोर्स
इस सुविधा को लागू करने का मुख्य तरीका, इन फ़ाइलों में देखा जा सकता है:
frameworks/base/services/core/java/com/android/server/policy/ShortcutManager.java frameworks/base/services/core/java/com/android/server/pm/ShortcutPackage.java frameworks/base/services/core/java/com/android/server/pm/ShortcutUser.java frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java frameworks/base/services/core/java/com/android/server/pm/ShortcutLauncher.java frameworks/base/services/core/java/com/android/server/pm/ShortcutParser.java frameworks/base/services/core/java/com/android/server/pm/ShortcutService.java frameworks/base/services/core/java/com/android/server/pm/LauncherAppsService.java frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageItem.java frameworks/base/core/java/com/android/server/backup/ShortcutBackupHelper.java frameworks/base/core/java/android/content/pm/ShortcutManager.java frameworks/base/core/java/android/content/pm/ShortcutServiceInternal.java frameworks/base/core/java/android/content/pm/ShortcutInfo.java frameworks/base/core/java/android/content/pm/LauncherApps.java
इन फ़ाइलों की मदद से, सहायक सुविधाएं मिलती हैं. इन्हें ShortcutManager.java
में छिपे हुए एपीआई कहा जाता है:
packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
उदाहरण के लिए, Android Open Source Project Launcher के वर्शन 3 में शॉर्टकट का इस्तेमाल किया जा सकता है:
packages/apps/Launcher3/
आखिर में, सार्वजनिक Javadoc के लिए ये फ़ाइलें देखें.
frameworks/base/core/java/android/content/pm/ShortcutManager.java frameworks/base/core/java/android/content/pm/ShortcutInfo.java frameworks/base/core/java/android/content/pm/LauncherApps.java
लागू करना
AOSP Launcher3 में पहले से ही शॉर्टकट की सुविधा काम करती है. अगर किसी पार्टनर का अपना लॉन्चर है, तो उस लॉन्चर पर भी शॉर्टकट काम करने चाहिए.
- जब कोई उपयोगकर्ता किसी ऐप्लिकेशन आइकॉन पर कोई खास जेस्चर (जैसे, लंबे समय तक दबाना) करता है, तो लॉन्चर को हर लॉन्चर गतिविधि आइकॉन से जुड़े डाइनैमिक और मेनिफ़ेस्ट शॉर्टकट दिखाने चाहिए.
शॉर्टकट को क्रम से लगाने का तरीका, "शॉर्टकट के दिखने का क्रम" सेक्शन में मौजूद, ShorctutManager Javadoc में बताया गया है. उदाहरण के लिए, पहले मेनिफ़ेस्ट शॉर्टकट दिखाएं, फिर डाइनैमिक शॉर्टकट दिखाएं. शॉर्टकट को हर ग्रुप में रैंक के हिसाब से, बढ़ते क्रम में लगाया जाता है. - उपयोगकर्ता को हर डाइनैमिक/मेनिफ़ेस्ट शॉर्टकट को खींचकर, होम स्क्रीन पर "पिन" करने की सुविधा मिलनी चाहिए.
- पिन किए गए शॉर्टकट का बैक अप लिया जाना चाहिए और उन्हें वापस लाया जाना चाहिए. (ज़्यादा जानकारी के लिए, ShortcutManager के javadoc देखें)
- सूचना पर "इनलाइन जवाब" देने के लिए, ShortcutManager.onApplicationActive को अंदरूनी तौर पर कॉल करना चाहिए.
इसके अलावा, Google Mobile Services (GMS) के कुछ ऐप्लिकेशन में शॉर्टकट होते हैं. OEM के लॉन्चर में, इन ऐप्लिकेशन के शॉर्टकट दिखने चाहिए. साथ ही, "पिन करने" (या शॉर्टकट आइकॉन बनाने) की सुविधा भी काम करती होनी चाहिए.
ऊपर दिए गए ऑपरेशन के लिए, फ़्रेमवर्क के साथ इंटरैक्ट करने के तरीके के बारे में जानने के लिए, Launcher3 सोर्स देखें.
पुष्टि करें
Android के साथ काम करने की जांच करने वाले टूल (CTS) के इन टेस्ट का इस्तेमाल करके, पक्का करें कि सुविधा का आपका वर्शन (ShortcutManager और LauncherApps) सही तरीके से काम कर रहा है:
cts/tests/tests/shortcutmanager/ cts/hostsidetests/shortcuts/
AOSP को लागू करने के लिए, यूनिट टेस्ट यहां देखें:
frameworks/base/services/tests/servicestests/
इसमें ये चीज़ें शामिल हैं:
src/com/android/server/pm/ShortcutManagerTest*.java
शॉर्टकट मैनेजर के लिए, सीटीएस की पुष्टि करने वाले टूल का इस्तेमाल भी किया जा सकता है:
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java