您可以透過 shortcuts.xml 中的功能宣告幾種動作類型,讓使用者可在啟動應用程式後直接執行特定工作。程式碼的功能包含動作名稱和 intent,後者指向應用程式中能夠解決使用者意圖的目的地。
在 shortcuts.xml 中定義功能
請在 Android 應用程式開發專案的 shortcuts.xml 資源檔案中定義 capability 元素。如要定義 capability 元素,請按照下列步驟操作:
- 按照「建立靜態捷徑」中的操作說明,建立
shortcuts.xml資源。 請在功能中加入下列必要資訊:
功能名稱:您希望應用程式執行的動作。如要瞭解需要程式碼功能定義的功能,請參閱元件說明文件。
應用程式目的地:動作為了滿足使用者要求而啟動的應用程式內目的地。請使用以巢狀結構包含在
capability內的intent元素來定義應用程式目的地。參數對應:每個
intent都可能包含參數,要以意圖的extra資料形式傳遞。
下列範例示範 shortcuts.xml 中的 actions.intent.START_EXERCISE 功能定義,這個 BII 可讓使用者透過 Google 助理使用口語指令,開始運動應用程式中的訓練:
<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 屬性會參照 START_EXERCISE BII。如果使用者問 Google 助理「Ok Google,在 ExampleApp 中開始跑步」,從而叫用這個 BII,Google 助理就會使用巢狀 intent 元素中提供的資訊來執行使用者的要求。此範例中的 intent 定義了下列詳細資料:
android:targetPackage會設定此意圖的目標應用程式套件。android:targetClass欄位會指定目的地活動:com.example.sampleApp.ExerciseActivity。- 意圖
parameter會宣告支援 BII 參數exercise.name,以及如何將收集自使用者的參數值,做為intent中的額外資料傳遞。
建立捷徑與功能的關聯
定義功能後,您可以建立功能與靜態或動態捷徑的關聯,藉此擴充其功能。捷徑連結至 capability 的方式取決於實作的功能,以及使用者要求中包含的實際字詞。舉例來說,當使用者問 Google 助理「Ok Google,在 ExampleApp 中開始跑步」,然後在運動智慧手環應用程式中開始跑步。Google 助理可以使用捷徑來啟動 capability 的執行個體,其為 exercise.name 參數定義了有效的運動實體「跑步」。