เวอร์ชัน 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
ตัวอย่างเช่น Launcher เวอร์ชัน 3 ของโครงการโอเพนซอร์ส Android รองรับแป้นพิมพ์ลัดต่อไปนี้
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 รองรับทางลัดอยู่แล้ว ในกรณีที่พาร์ทเนอร์มีตัวเปิดแอปของตัวเอง ตัวเปิดแอปนั้นควรรองรับทางลัดด้วย
- เมื่อผู้ใช้ใช้ท่าทางสัมผัสบางอย่าง (เช่น การกดค้าง) บนไอคอนแอป ตัวเปิดใช้ควรแสดงทางลัดแบบไดนามิกและไฟล์ Manifest ที่เชื่อมโยงกับไอคอนกิจกรรมของตัวเปิดใช้แต่ละรายการ
ลำดับการจัดเรียงทางลัดจะกำหนดไว้ใน Javadoc ของ ShorctutManager ภายในส่วน "ลำดับการแสดงทางลัด" เช่น แสดงทางลัดไฟล์ Manifest ก่อน แล้วตามด้วยทางลัดแบบไดนามิก แป้นพิมพ์ลัดจะจัดเรียงตามลําดับจากน้อยไปมากภายในแต่ละกลุ่ม - ผู้ใช้ควรลากทางลัดแบบไดนามิก/ไฟล์ Manifest แต่ละรายการและ "ปักหมุด" ไว้ที่หน้าจอหลักได้
- คุณควรสำรองข้อมูลและกู้คืนทางลัดที่ปักหมุดไว้ (ดูรายละเอียดใน javadoc ของ ShortcutManager)
- การทำ "การตอบกลับในบทสนทนา" ในการแจ้งเตือนควรเรียกใช้ ShortcutManager.onApplicationActive ภายใน
นอกจากนี้ แอป Google Mobile Services (GMS) บางแอปยังมีแป้นพิมพ์ลัดด้วย โปรแกรมเปิดแอปของ OEM ควรแสดงทางลัดสำหรับแอปเหล่านั้น และควรรองรับ "การปักหมุด" (หรือการสร้างไอคอนทางลัด) ด้วย
ดูรายละเอียดเกี่ยวกับวิธีโต้ตอบกับเฟรมเวิร์กสําหรับการดำเนินการข้างต้นได้ที่แหล่งที่มาของ Launcher3
การตรวจสอบความถูกต้อง
ใช้การทดสอบชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS) ต่อไปนี้เพื่อให้แน่ใจว่าฟีเจอร์เวอร์ชันของคุณ (ShortcutManager และ LauncherApps) ทํางานตามที่ตั้งใจไว้
cts/tests/tests/shortcutmanager/ cts/hostsidetests/shortcuts/
และดูการทดสอบหน่วยสําหรับการใช้งาน 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