Các chức năng trong shortcuts.xml
cho phép bạn khai báo các loại thao tác mà người dùng có thể thực hiện để chạy ứng dụng và trực tiếp thực hiện một thao tác cụ thể.
Ví dụ: Hành động trong ứng dụng của Trợ lý Google sử dụng các tính năng cho phép nhà phát triển mở rộng tính năng trong ứng dụng sang ý định tích hợp (BII), cho phép người dùng kích hoạt và kiểm soát các tính năng đó bằng lệnh thoại. Một chức năng bao gồm tên thao tác và intent
nhắm đến đích đến trong ứng dụng để phân giải ý định của người dùng.
Định nghĩa tính năng thực hiện tác vụ trong shortcuts.xml
Bạn định nghĩa các phần tử capability
trong tệp tài nguyên shortcuts.xml
trong dự án phát triển ứng dụng Android. Để xác định một phần tử capability
, hãy làm như sau:
- Tạo tài nguyên
shortcuts.xml
bằng cách làm theo hướng dẫn trong bài viết Tạo lối tắt tĩnh. Hãy đưa những thông tin bắt buộc sau vào khả năng thực hiện:
Tên chức năng: hành động mà bạn muốn ứng dụng của mình hỗ trợ. Hãy tham khảo tài liệu về thành phần của tính năng yêu cầu định nghĩa chức năng. Các lệnh hỗ trợ bằng giọng nói ở Hành động trong ứng dụng sẽ sử dụng BII
Action ID
làm tên tính năng. Bạn có thể tìm thấy tên này trong Tài liệu tham khảo về BII. Ví dụ: BIIGET_THING
liệt kêAction ID
của nó làactions.intent.GET_THING
.Đích đến của ứng dụng: đích đến trong ứng dụng mà hành động khởi chạy để thực hiện yêu cầu của người dùng. Xác định các đích đến của ứng dụng bằng cách sử dụng phần tử
intent
được lồng trongcapability
.Ánh xạ tham số: mỗi
intent
có thể chứa các tham số sẽ được truyền dưới dạng dữ liệuextra
của ý định. Ví dụ: mỗi BII của Hành động trong ứng dụng bao gồm các trường đại diện cho thông tin mà người dùng thường cung cấp trong các truy vấn kích hoạt BII.
Ví dụ sau đây minh hoạ định nghĩa về chức năng trong shortcuts.xml
cho actions.intent.START_EXERCISE
, một BII cho phép người dùng sử dụng lệnh thoại thông qua Trợ lý để bắt đầu bài tập thể dục trong ứng dụng thể dục:
<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>
Trong ví dụ trước, thuộc tính <capability>
android:name
đề cập đến BII START_EXERCISE
. Nếu người dùng gọi BII này bằng cách hỏi Trợ lý Google, "Ok Google, bắt đầu bài tập chạy trong ExampleApp", Trợ lý sẽ thực hiện yêu cầu của người dùng bằng cách sử dụng
thông tin được cung cấp trong phần tử intent
lồng. intent
trong mẫu này định nghĩa các thông tin chi tiết sau:
android:targetPackage
thiết lập gói ứng dụng mục tiêu cho ý định này.- Trường
android:targetClass
chỉ định hoạt động tại đích đến:com.example.sampleApp.ExerciseActivity
. - Ý định
parameter
khai báo hỗ trợ cho tham số BIIexercise.name
và cách truyền giá trị tham số (thu thập được từ người dùng) dưới dạng dữ liệu bổ sung trongintent
.
Liên kết lối tắt với một tính năng thực hiện tác vụ
Sau khi xác định một chức năng, bạn có thể mở rộng chức năng của chức năng đó bằng cách liên kết lối tắt tĩnh hoặc động với chức năng đó. Cách liên kết các lối tắt với capability
phụ thuộc vào tính năng đang được triển khai và các từ thực tế có trong yêu cầu của người dùng. Ví dụ: khi người dùng bắt đầu chạy trong ứng dụng theo dõi hoạt động thể dục của bạn bằng cách hỏi Trợ lý: "Ok Google, hãy bắt đầu chạy trong ExampleApp." Trợ lý có thể sử dụng lối tắt để chạy một phiên bản của capability
xác định một thực thể tập thể dục hợp lệ là "run" cho tham số exercise.name
.
Để biết thêm thông tin về cách liên kết lối tắt với Hành động trong ứng dụng, vui lòng xem bài viết Tổng quan về Hành động trong ứng dụng.