Pintasan aplikasi

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

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

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

Contoh dan sumber

Anda dapat menemukan implementasi utama fitur ini di 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 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, misalnya, Peluncur Proyek Sumber Terbuka Android 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

Penerapan

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

  • Saat pengguna melakukan gerakan tertentu (misalnya menekan lama) pada ikon aplikasi, peluncur harus menampilkan pintasan dinamis dan manifes yang terkait dengan setiap ikon aktivitas peluncur.
    Urutan pintasan ditentukan di Javadoc ShorctutManager di 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 menyeret setiap pintasan dinamis/manifes dan "menyematkannya" ke layar beranda.
  • Pintasan yang disematkan harus dicadangkan dan dipulihkan. (Lihat javadoc ShortcutManager untuk detailnya)
  • Melakukan "Balasan sebaris" pada Notifikasi seharusnya memanggil ShortcutManager.onApplicationActive secara internal.

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

Lihat sumber Launcher3 untuk detail tentang cara berinteraksi dengan kerangka kerja 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 unit test untuk implementasi AOSP di sini:

frameworks/base/services/tests/servicestests/

Yang mana termasuk:

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

Anda juga dapat menggunakan tes CTS Verifier untuk pengelola pintasan:

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