ทางลัดของแอป

Android 7.1.1 รีลีสช่วยให้นักพัฒนาสามารถกำหนดทางลัดเฉพาะการกระทำในแอพของตนที่สามารถแสดงในตัวเรียกใช้งานได้ ทางลัดแอพ เหล่านี้ช่วยให้ผู้ใช้เริ่มต้นงานทั่วไปหรืองานที่แนะนำภายในแอพได้อย่างรวดเร็ว

คำสั่งลัดแต่ละรายการอ้างอิงถึงจุดประสงค์ที่เรียกใช้การดำเนินการเฉพาะในแอพเมื่อผู้ใช้เลือกคำสั่งลัด ตัวอย่างการดำเนินการที่คุณสามารถแสดงเป็นทางลัดแอพ ได้แก่:

  • การนำทางผู้ใช้ไปยังตำแหน่งเฉพาะในแอปแผนที่
  • การส่งข้อความถึงเพื่อนในแอปการสื่อสาร
  • กำลังเล่นตอนถัดไปของรายการทีวีในแอปสื่อ
  • กำลังโหลดจุดบันทึกสุดท้ายในแอปเกม

ตัวอย่างและที่มา

คุณสามารถดูการใช้งานหลักของฟีเจอร์นี้ได้ในไฟล์ต่อไปนี้:

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 รองรับทางลัดแล้ว ในกรณีที่พันธมิตรมีตัวเรียกใช้งานของตัวเอง ตัวเรียกใช้งานนั้นควรรองรับทางลัดด้วย

  • เมื่อผู้ใช้แสดงท่าทางบางอย่าง (เช่น กดค้าง) บนไอคอนแอป ตัวเรียกใช้งานควรแสดงทางลัดแบบไดนามิกและรายการที่เกี่ยวข้องกับไอคอนกิจกรรมของตัวเรียกใช้งานแต่ละตัว
    ลำดับการจัดเรียงทางลัดถูกกำหนดไว้ใน ShortctutManager Javadoc ภายในส่วน "ลำดับการแสดงทางลัด" ตัวอย่างเช่น แสดงทางลัดรายการก่อน จากนั้นจึงแสดงทางลัดแบบไดนามิก ทางลัดจะจัดเรียงตามลำดับจากน้อยไปหามากภายในแต่ละกลุ่ม
  • ผู้ใช้ควรจะสามารถลากทางลัดแบบไดนามิก/รายการแต่ละรายการและ "ปักหมุด" ทางลัดดังกล่าวไปที่หน้าจอหลักได้
  • ทางลัดที่ปักหมุดไว้ควรได้รับการสำรองและกู้คืน (ดูรายละเอียด 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