Android 7.1.1 sürümü, geliştiricilerin uygulamalarında başlatıcıda gösterilebilecek işleme özel kısayollar tanımlamasına olanak tanır. Bu uygulama kısayolları, kullanıcıların bir uygulamada sık kullanılan veya önerilen görevleri hızlıca başlatmasına olanak tanır.
Her kısayol, kullanıcılar kısayolu seçtiğinde uygulamada belirli bir işlemi başlatan bir intent'e referans verir. Uygulama kısayolları olarak ifade edebileceğiniz işlemlere örnek olarak şunlar verilebilir:
- Kullanıcıları bir harita uygulamasında belirli bir konuma yönlendirme
- İletişim uygulamasında bir arkadaşınıza mesaj gönderme
- Medya uygulamasında bir TV programının sonraki bölümünü oynatma
- Oyun uygulamasında son kayıt noktasını yükleme
Örnekler ve kaynak
Bu özelliğin birincil uygulamasını aşağıdaki dosyalarda bulabilirsiniz:
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
Destekleyici özellikler sağlayan aşağıdaki dosyalarla (ShortcutManager.java
'te gizli API'ler olarak adlandırılır):
packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
Örneğin, Android Açık Kaynak Projesi Launcher 3 sürümü kısayolları destekler:
packages/apps/Launcher3/
Son olarak, herkese açık Javadoc için aşağıdaki dosyalara bakın.
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
Uygulama
AOSP Launcher3 zaten kısayolları destekliyor. Bir iş ortağının kendi başlatıcısı varsa bu başlatıcı da kısayolları desteklemelidir.
- Kullanıcı bir uygulama simgesinde belirli bir hareket (ör. uzun basma) yaptığında başlatıcı, her başlatıcı etkinlik simgesiyle ilişkili dinamik ve manifest kısayollarını göstermelidir.
Kısayol sıralama sırası, ShorctutManager Javadoc'daki "Kısayol Görüntüleme Sırası" bölümünde tanımlanır. Örneğin, önce manifest kısayollarını, ardından dinamik kısayolları gösterin. Kısayolların sıralaması, her grup içinde rütbeye göre artan düzende yapılır. - Kullanıcı, her dinamik/manifest kısayolunu sürükleyip ana ekrana "sabitleyebilmelidir".
- Sabitlenmiş kısayollar yedeklenip geri yüklenmelidir. (Ayrıntılar için ShortcutManager'ın javadoc'una bakın)
- Bildirimde "satır içi yanıt" yapılması, ShortcutManager.onApplicationActive'ın dahili olarak çağrılmasını sağlar.
Ayrıca bazı Google Mobil Hizmetleri (GMS) uygulamalarında kısayollar bulunur. OEM başlatıcısı, bu uygulamalara ait kısayolları göstermelidir ve ideal olarak "sabitleme"yi (veya kısayol simgesi oluşturmayı) de desteklemelidir.
Yukarıdaki işlemler için çerçeveyle nasıl etkileşime geçeceğiniz hakkında ayrıntılı bilgi için Launcher3 kaynağına bakın.
Doğrulama
Özelliğin kendi sürümünüzün (ShortcutManager ve LauncherApps) amaçlandığı gibi çalıştığından emin olmak için aşağıdaki Android Compatibility Test Suite (CTS) testlerini kullanın:
cts/tests/tests/shortcutmanager/ cts/hostsidetests/shortcuts/
AOSP uygulamasının birim testlerini burada bulabilirsiniz:
frameworks/base/services/tests/servicestests/
Bu bilgiler arasında şunlar yer alır:
src/com/android/server/pm/ShortcutManagerTest*.java
Kısayol yöneticisi için CTS Doğrulayıcı testini de kullanabilirsiniz:
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java