Pintasan aplikasi

Rilis Android 7.1.1 memungkinkan developer menentukan pintasan khusus tindakan di aplikasi mereka yang dapat ditampilkan di peluncur. Pintasan aplikasi ini memungkinkan pengguna memulai tugas umum atau yang direkomendasikan dengan cepat dalam aplikasi.

Setiap pintasan mereferensikan intent yang meluncurkan tindakan tertentu di aplikasi saat pengguna memilih pintasan. Contoh tindakan yang dapat Anda ekspresikan sebagai pintasan aplikasi meliputi:

  • Mengarahkan pengguna ke lokasi tertentu dalam aplikasi pemetaan
  • Mengirim pesan ke teman di aplikasi komunikasi
  • Memutar episode acara TV berikutnya di aplikasi media
  • Memuat titik simpan terakhir di aplikasi game

Contoh dan sumber

Anda dapat menemukan penerapan utama fitur ini dalam file berikut:

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

Dengan file berikut yang menyediakan fitur pendukung (disebut API tersembunyi di ShortcutManager.java):

packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java

Dan, sebagai contoh, Android Open Source Project Launcher versi 3 mendukung pintasan:

packages/apps/Launcher3/

Terakhir, lihat file berikut untuk Javadoc publik.

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

Implementasi

AOSP Launcher3 sudah mendukung pintasan. Jika partner memiliki peluncurnya sendiri, peluncur tersebut juga harus mendukung pintasan.

  • Saat pengguna melakukan gestur tertentu (misalnya, tekan lama) pada ikon aplikasi, peluncur harus menampilkan pintasan dinamis dan manifes yang terkait dengan setiap ikon aktivitas peluncur.
    Urutan pengurutan pintasan ditentukan dalam Javadoc ShorctutManager dalam bagian "Urutan Tampilan Pintasan". Misalnya, tampilkan pintasan manifes terlebih dahulu, lalu pintasan dinamis. Pintasan diurutkan berdasarkan peringkat dalam urutan menaik dalam setiap grup.
  • Pengguna harus dapat menarik setiap pintasan dinamis/manifes dan "memasang pin"-nya ke layar utama.
  • Pintasan yang disematkan harus dicadangkan dan dipulihkan. (Lihat javadoc ShortcutManager untuk mengetahui detailnya)
  • Melakukan "Balasan inline" pada Notifikasi harus memanggil ShortcutManager.onApplicationActive secara internal.

Selain itu, beberapa aplikasi Layanan Seluler Google (GMS) memiliki pintasan. Peluncur OEM harus menampilkan pintasan untuknya dan idealnya juga mendukung "sematkan" (atau membuat ikon pintasan).

Lihat sumber Launcher3 untuk mengetahui detail tentang cara berinteraksi dengan framework untuk operasi di atas.

Validasi

Gunakan pengujian Android Compatibility Test Suite (CTS) berikut untuk memastikan versi fitur Anda (ShortcutManager dan LauncherApps) berfungsi sebagaimana mestinya:

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

Dan temukan pengujian unit untuk penerapan AOSP di sini:

frameworks/base/services/tests/servicestests/

Yang mencakup:

src/com/android/server/pm/ShortcutManagerTest*.java

Anda juga dapat menggunakan pengujian CTS Verifier untuk pengelola pintasan:

cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java