Menambahkan kemampuan ke pintasan

Kemampuan di shortcuts.xml memungkinkan Anda mendeklarasikan jenis tindakan yang dapat dilakukan pengguna untuk meluncurkan aplikasi Anda dan langsung melakukan tugas tertentu. Kemampuan terdiri dari nama tindakan dan intent yang menargetkan tujuan di aplikasi Anda yang menyelesaikan niat pengguna.

Menentukan kemampuan dalam shortcuts.xml

Anda menentukan elemen capability dalam file referensi shortcuts.xml dalam project pengembangan aplikasi Android. Untuk menentukan elemen capability, lakukan hal berikut:

  1. Buat resource shortcuts.xml dengan mengikuti petunjuk di Membuat pintasan statis.
  2. Sertakan informasi wajib berikut dalam kemampuan Anda:

    • Nama kemampuan: tindakan yang Anda inginkan untuk didukung oleh aplikasi. Lihat dokumentasi komponen untuk fitur yang memerlukan definisi kemampuan.

    • Tujuan aplikasi: tujuan di aplikasi Anda yang diluncurkan oleh tindakan untuk memenuhi permintaan pengguna. Tentukan tujuan aplikasi menggunakan elemen intent yang disusun bertingkat dalam capability.

    • Pemetaan parameter: setiap intent mungkin berisi parameter yang akan diteruskan sebagai data extra intent.

Contoh berikut menunjukkan definisi kemampuan di shortcuts.xml untuk actions.intent.START_EXERCISE, BII yang memungkinkan pengguna menggunakan perintah lisan dengan Asisten untuk memulai olahraga di aplikasi kebugaran:

<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>

Pada contoh sebelumnya, atribut <capability> android:name mengacu pada BII START_EXERCISE. Jika pengguna memanggil BII ini dengan meminta Asisten, "Ok Google, mulai berlari di ExampleApp", Asisten akan memenuhi permintaan pengguna menggunakan informasi yang diberikan di elemen intent bertingkat. intent dalam sampel ini menentukan detail berikut:

  • android:targetPackage menetapkan paket aplikasi target untuk intent ini.
  • Kolom android:targetClass menentukan aktivitas tujuan: com.example.sampleApp.ExerciseActivity.
  • Intent parameter mendeklarasikan dukungan untuk parameter BII exercise.name dan cara meneruskan parameter value—yang dikumpulkan dari pengguna—sebagai data tambahan di intent.

Mengaitkan pintasan dengan kemampuan

Setelah menentukan kemampuan, Anda dapat memperluas fungsinya dengan mengaitkan pintasan statis atau dinamis ke kemampuan tersebut. Cara pintasan ditautkan ke capability bergantung pada fitur yang diterapkan dan kata-kata sebenarnya yang disertakan dalam permintaan pengguna. Misalnya, saat pengguna memulai sesi lari di aplikasi pelacakan kebugaran Anda dengan meminta Asisten, "Ok Google, mulai sesi lari di ExampleApp". Asisten dapat menggunakan pintasan untuk meluncurkan instance capability yang menentukan entity latihan "lari" yang valid untuk parameter exercise.name.