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