Uygulama kısayolları

Android 7.1.1 sürümü, geliştiricilerin uygulamalarında başlatıcıda görüntülenebilecek eyleme özel kısayollar tanımlamasına olanak tanır. Bu uygulama kısayolları, kullanıcıların bir uygulama içinde ortak veya önerilen görevleri hızla başlatmasına olanak tanır.

Her kısayol, kullanıcılar kısayolu seçtiğinde uygulamada belirli bir eylemi başlatan bir amacı referans alır. Uygulama kısayolları olarak ifade edebileceğiniz eylemlere örnekler şunları içerir:

  • Kullanıcıları bir harita uygulamasında belirli bir konuma yönlendirme
  • Bir iletişim uygulamasında bir arkadaşınıza mesaj gönderme
  • Medya uygulamasında bir TV şovunun sonraki bölümünü oynatma
  • Bir oyun uygulamasında son kaydetme 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 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 Proje Başlatıcısı sürüm 3 kısayolları destekler:

packages/apps/Launcher3/

Son olarak, genel 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ı desteklemektedir. Bir iş ortağının kendi başlatıcısının olduğu durumlarda, bu başlatıcının da kısayolları desteklemesi gerekir.

  • Kullanıcı bir uygulama simgesi üzerinde belirli bir hareketi gerçekleştirdiğinde (örneğin uzun basma), başlatıcı, her başlatıcı etkinlik simgesiyle ilişkili dinamik ve bildirim kısayollarını göstermelidir.
    Kısayol sıralama düzeni, "Kısayol Görüntüleme Sırası" bölümündeki ShorctutManager Javadoc'ta tanımlanır. Örneğin, önce manifest kısayollarını, ardından dinamik kısayolları gösterin. Kısayollar, her grup içinde artan düzende sıralamaya göre sıralanır.
  • Kullanıcı her bir dinamik/bildirim kısayolunu sürükleyip ana ekrana "sabitleyebilmelidir".
  • Sabitlenen kısayollar yedeklenmeli ve geri yüklenmelidir. (Ayrıntılar için ShortcutManager'ın javadoc dosyasına bakın)
  • Bildirimde "Satır içi yanıt" yapmak dahili olarak ShortcutManager.onApplicationActive'i çağırmalıdır.

Ayrıca bazı Google Mobil Hizmetleri (GMS) uygulamalarında kısayollar bulunur. OEM başlatıcısı onlar için kısayollar göstermeli ve ideal olarak " sabitlemeyi " (veya bir kısayol simgesi oluşturmayı) da desteklemelidir.

Yukarıdaki işlemlere yönelik çerçeveyle nasıl etkileşim kurulacağına ilişkin ayrıntılar için Launcher3 kaynağına bakın.

Doğrulama

Özellik sürümünüzün (ShortcutManager ve LauncherApps) amaçlandığı gibi çalıştığından emin olmak için aşağıdaki Android Uyumluluk Test Paketi (CTS) testlerini kullanın:

cts/tests/tests/shortcutmanager/
cts/hostsidetests/shortcuts/

AOSP uygulamasına yönelik birim testlerini burada bulabilirsiniz:

frameworks/base/services/tests/servicestests/

İçerir:

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