ความสามารถใน shortcuts.xml ช่วยให้คุณประกาศประเภทการกระทำที่ผู้ใช้สามารถทำได้เพื่อเปิดแอปและทำงานที่เฉพาะเจาะจงได้โดยตรง ความสามารถประกอบด้วยชื่อของการกระทำและ intent ที่กำหนดเป้าหมายปลายทางในแอปซึ่งจะช่วยให้ความตั้งใจของผู้ใช้ทำตามสิ่งที่ต้องการได้
กำหนดความสามารถใน shortcuts.xml
คุณกำหนดองค์ประกอบ capability ในไฟล์ทรัพยากร shortcuts.xml ในโปรเจ็กต์การพัฒนาแอป Android หากต้องการกำหนดองค์ประกอบ capability ให้ทำดังนี้
- สร้างทรัพยากร
shortcuts.xmlโดยทำตามวิธีการใน สร้าง ทางลัดแบบคงที่ ใส่ข้อมูลที่จำเป็นต่อไปนี้ในความสามารถ
ชื่อความสามารถ: การกระทำที่คุณต้องการให้แอปรองรับ โปรดดูเอกสารประกอบของคอมโพเนนต์สำหรับฟีเจอร์ที่ต้องมีการกำหนดความสามารถ
ปลายทางของแอป: ปลายทางในแอปที่การกระทำจะเปิดขึ้นเพื่อตอบสนองคำขอของผู้ใช้ กำหนดปลายทางของแอปโดยใช้องค์ประกอบ
intentที่ซ้อนอยู่ในcapabilityการแมปพารามิเตอร์:
intentแต่ละรายการอาจมีพารามิเตอร์ที่จะส่งเป็นข้อมูลextraของ Intent
ตัวอย่างต่อไปนี้แสดงการกำหนดความสามารถใน shortcuts.xml สำหรับ actions.intent.START_EXERCISE ซึ่งเป็น BII ที่ช่วยให้ผู้ใช้ใช้คำสั่งเสียงกับ Assistant เพื่อเริ่มการออกกำลังกายในแอปฟิตเนสได้
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
ในตัวอย่างก่อนหน้า แอตทริบิวต์ <capability> android:name อ้างอิงถึง
BII START_EXERCISE หากผู้ใช้เรียกใช้ BII นี้โดยถาม Assistant ว่า "Ok
Google เริ่มวิ่งใน ExampleApp หน่อย" Assistant จะตอบสนองคำขอของผู้ใช้โดยใช้
ข้อมูลที่ระบุไว้ในองค์ประกอบ intent ที่ซ้อนอยู่ intent ในตัวอย่างนี้กำหนดรายละเอียดต่อไปนี้
android:targetPackageตั้งค่าแพ็กเกจแอปพลิเคชันเป้าหมายสำหรับ Intent นี้- ช่อง
android:targetClassระบุกิจกรรมปลายทางcom.example.sampleApp.ExerciseActivity - `parameter` ของ Intent ประกาศการรองรับพารามิเตอร์
exercise.nameของ BII และวิธีส่งค่าพารามิเตอร์ที่รวบรวม จากผู้ใช้เป็นข้อมูลเพิ่มเติมในintentparameter
เชื่อมโยงทางลัดกับความสามารถ
เมื่อกำหนดความสามารถแล้ว คุณสามารถขยายฟังก์ชันการทำงานของความสามารถนั้นได้โดยการเชื่อมโยงทางลัดแบบคงที่หรือแบบไดนามิกกับความสามารถดังกล่าว วิธีลิงก์ทางลัดกับ capability จะขึ้นอยู่กับฟีเจอร์ที่กำลังใช้งานและคำที่ผู้ใช้ระบุไว้ในคำขอ เช่น เมื่อผู้ใช้เริ่มวิ่งในแอปติดตามการออกกำลังกาย
โดยถาม Assistant ว่า "Ok Google เริ่มวิ่งใน ExampleApp หน่อย" Assistant สามารถใช้ทางลัดเพื่อเปิดใช้ capability ที่กำหนดเอนทิตีการออกกำลังกายที่ถูกต้องของ "วิ่ง" สำหรับพารามิเตอร์ exercise.name