ทางลัดของแอปพลิเคชัน

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