افزودن قابلیت به میان‌برها

قابلیت‌های موجود در shortcuts.xml به شما امکان می‌دهد انواع کنش‌هایی را که کاربران می‌توانند برای راه‌اندازی برنامه‌تان و انجام مستقیم تکلیفی خاص انجام دهند اعلام کنید. قابلیت شامل نام کنش و intent است که مقصد را در برنامه شما هدف قرار می‌دهد و قصد کاربر را برآورده می‌کند.

تعریف قابلیت‌ها در shortcuts.xml

عناصر capability را در فایل منبع shortcuts.xml در پروژه توسعه برنامه Android خود تعریف می‌کنید. برای تعریف عنصر capability، کارهای زیر را انجام دهید:

  1. با دنبال کردن دستورالعمل‌های ایجاد میان‌برهای ایستا، منبع shortcuts.xml ایجاد کنید.
  2. اطلاعات الزامی زیر را در قابلیتتان بگنجانید:

    • نام قابلیت: کنشی که می‌خواهید برنامه‌تان پشتیبانی کند. به سند مؤلفه برای ویژگی‌ای که به تعاریف قابلیت نیاز دارد مراجعه کنید.

    • مقصد برنامه: مقصدی در برنامه شما که کنش برای برآورده کردن درخواست کاربر در آن راه‌اندازی می‌شود. مقصدهای برنامه را بااستفاده از عناصر intent تودرتو در capability تعریف کنید.

    • نگاشت‌های پارامتر: هر intent ممکن است حاوی پارامترهایی باشد که باید به‌عنوان داده‌های extra قصد ارسال شوند.

مثال زیر تعریف قابلیت را در shortcuts.xml برای actions.intent.START_EXERCISE نشان می‌دهد، یک «هدف داخلی برنامه» که به کاربران اجازه می‌دهد از فرمان‌های گفتاری با «دستیار» برای شروع تمرین در برنامه تناسب اندام استفاده کنند:

<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 اشاره دارد. اگر کاربری این «هدف درون‌ساخت برنامه» را با پرسیدن از «دستیار» فراخوانی کند، «Ok Google، دویدن را در ExampleApp شروع کن»، «دستیار» درخواست کاربر را بااستفاده از اطلاعات ارائه‌شده در عنصر تودرتوی intent برآورده می‌کند. intent در این نمونه جزئیات زیر را تعریف می‌کند:

  • android:targetPackage بسته برنامه هدف را برای این هدف تنظیم می‌کند.
  • فیلد android:targetClass فعالیت مقصد را مشخص می‌کند: com.example.sampleApp.ExerciseActivity.
  • قصد parameter پشتیبانی از پارامتر BII exercise.name و نحوه ارسال مقدار پارامتر (جمع‌آوری‌شده از کاربر) را به‌عنوان داده اضافی در intent اعلام می‌کند.

مرتبط کردن میان‌برها با قابلیت

وقتی قابلیتی را تعریف کردید، می‌توانید با مرتبط کردن میان‌برهای ایستا یا پویا با آن، عملکرد آن را گسترش دهید. نحوه پیوند میان‌برها به capability به ویژگی‌ای که پیاده‌سازی می‌شود و کلمات واقعی موجود در درخواست کاربر بستگی دارد. برای مثال، وقتی کاربری با پرسیدن از «دستیار» دویدن را در برنامه ردیابی تناسب اندام شما شروع می‌کند، «Ok Google، دویدن را در ExampleApp شروع کن.» «دستیار» می‌تواند از میان‌بر برای راه‌اندازی نمونه‌ای از capability استفاده کند که نهاد تمرین معتبر «دویدن» را برای پارامتر exercise.name تعریف می‌کند.