Pintasan aplikasi

Rilis Android 7.1.1 memungkinkan developer untuk mendefinisikan tindakan spesifik yang dapat ditampilkan di peluncur. Aplikasi ini pintasan memungkinkan pengguna memulai tugas umum atau yang direkomendasikan dengan cepat dalam .

Setiap pintasan merujuk ke intent yang meluncurkan tindakan tertentu di aplikasi saat pengguna memilih pintasan. Contoh tindakan yang dapat Anda ekspresikan sebagai aplikasi pintasan 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 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 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, Peluncur Proyek Open Source 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

Implementasi

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

  • Saat pengguna melakukan {i>gesture <i}tertentu (misalnya, tekan lama) pada ikon aplikasi, peluncur harus menunjukkan pintasan dinamis dan manifes yang terkait dengan ikon aktivitas peluncur.
    Tata urutan pintasan ditentukan dalam ShorctutManager Javadoc di dalam {i>“Shortcut Display Order”<i} bagian. Misalnya, tampilkan pintasan manifes pertama, lalu pintasan dinamis. Pintasan diurutkan berdasarkan dengan urutan menaik di dalam setiap grup.
  • Pengguna harus dapat menarik setiap pintasan dinamis/manifes dan "menyematkan" ini ke layar beranda.
  • Pintasan yang disematkan harus dicadangkan dan dipulihkan. (Lihat javadoc untuk mengetahui detailnya)
  • Melakukan "Balasan inline" di Notification harus memanggil ShortcutManager.onApplicationActive.

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

Lihat sumber Launcher3 untuk detail tentang cara berinteraksi dengan kerangka kerja untuk operasi di atas.

Validasi

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

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

Dan temukan pengujian unit untuk implementasi AOSP di sini:

frameworks/base/services/tests/servicestests/

Yang mencakup:

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

Anda juga dapat menggunakan uji CTS Verifier untuk pengelola pintasan:

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