Android รุ่น 7.1.1 ช่วยให้นักพัฒนาซอฟต์แวร์กำหนดการกระทำเฉพาะ ทางลัดในแอปที่จะแสดงใน Launcher ได้ แอปเหล่านี้ ทางลัดช่วยให้ผู้ใช้เริ่มงานทั่วไปหรืองานที่แนะนำได้อย่างรวดเร็วภายใน แอป
ทางลัดแต่ละรายการอ้างอิง Intent ที่เปิดการดำเนินการที่เจาะจงในแอป เมื่อผู้ใช้เลือกทางลัด ตัวอย่างการดำเนินการที่คุณแสดงเป็นแอปได้ แป้นพิมพ์ลัดมีดังนี้
- การพาผู้ใช้ไปยังตำแหน่งที่เฉพาะเจาะจงในแอปแผนที่
- การส่งข้อความให้เพื่อนในแอปการสื่อสาร
- การเล่นตอนถัดไปของรายการทีวีในแอปสื่อ
- กำลังโหลดจุดเซฟจุดสุดท้ายในแอปเกม
ตัวอย่างและแหล่งที่มา
คุณจะพบการใช้งานหลักของฟีเจอร์นี้ในไฟล์ต่อไปนี้
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
โดยไฟล์ต่อไปนี้จะมีฟีเจอร์สนับสนุน (เรียกว่า API ที่ซ่อนอยู่ใน
ShortcutManager.java
):
packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
ตัวอย่างเช่น แอป Android Open Source Project Launcher เวอร์ชัน 3 รองรับ แป้นพิมพ์ลัด:
packages/apps/Launcher3/
สุดท้าย ให้ดูไฟล์ต่อไปนี้สำหรับ Javadoc สาธารณะ
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
การใช้งาน
AOSP Launcher3 รองรับแป้นพิมพ์ลัดอยู่แล้ว ในกรณีที่พาร์ทเนอร์ Launcher นั้นเองก็จะรองรับแป้นพิมพ์ลัดด้วย
- เมื่อผู้ใช้ทำท่าทางสัมผัสบางอย่าง (เช่น กดค้าง) บนไอคอนแอป
ตัวเรียกใช้งานควรแสดงทางลัดแบบไดนามิกและไฟล์ Manifest ที่เชื่อมโยงกับแต่ละปุ่ม
ไอคอนกิจกรรมของ Launcher
ลำดับการจัดเรียงทางลัดจะกำหนดไว้ใน Javadoc ของ ShorctutManager ภายใน "ลำดับการแสดงแป้นพิมพ์ลัด" เช่น แสดงทางลัดสำหรับไฟล์ Manifest ก่อน ตามด้วยแป้นพิมพ์ลัดแบบไดนามิก แป้นพิมพ์ลัดจะจัดเรียงตามอันดับใน ตามลำดับจากน้อยไปมากในแต่ละกลุ่ม - ผู้ใช้ควรลากแป้นพิมพ์ลัดแบบไดนามิก/ไฟล์ Manifest และ "ปักหมุด" แต่ละรายการได้ รายการดังกล่าว ไปยังหน้าจอหลัก
- ทั้งนี้ควรมีการสำรองข้อมูลและคืนค่าทางลัดที่ปักหมุดไว้ (โปรดดู javadoc สำหรับรายละเอียด)
- การ "ตอบกลับแบบแทรกในบรรทัด" ในการแจ้งเตือนควรเรียกใช้ภายใน ShortcutManager.onApplicationActive
นอกจากนี้ แอปบริการของ Google Mobile (GMS) บางแอปมีทางลัดด้วย OEM Launcher ควรแสดงทางลัดสำหรับตัวเรียกใช้งานและควรรองรับ "การปักหมุด" (หรือการสร้าง ไอคอนทางลัด) ได้ด้วย
ดูรายละเอียดเกี่ยวกับวิธีโต้ตอบกับเฟรมเวิร์กสำหรับ การดำเนินการข้างต้น
การตรวจสอบความถูกต้อง
ใช้การทดสอบชุดทดสอบความเข้ากันได้ของ Android (CTS) ต่อไปนี้เพื่อให้แน่ใจว่า รุ่นของคุณลักษณะ (ทางลัดผู้จัดการและ LauncherApps) ทำงานตามที่ต้องการ ดังนี้
cts/tests/tests/shortcutmanager/ cts/hostsidetests/shortcuts/
และค้นหาการทดสอบ 1 หน่วยสำหรับการติดตั้งใช้งาน AOSP ได้ที่นี่
frameworks/base/services/tests/servicestests/
ซึ่งประกอบด้วย
src/com/android/server/pm/ShortcutManagerTest*.java
นอกจากนี้คุณยังใช้การทดสอบ CTS Verifier กับเครื่องมือจัดการทางลัดได้ด้วย โดยทำดังนี้
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java