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