قابلیتهای موجود در shortcuts.xml به شما امکان میدهند انواع اقداماتی را که کاربران میتوانند برای راهاندازی برنامه شما و انجام مستقیم یک کار خاص انجام دهند، اعلام کنید. یک قابلیت شامل نام اقدام و یک intent است که مقصد را در برنامه شما هدف قرار میدهد و هدف کاربر را برآورده میکند.
قابلیتها را در shortcuts.xml تعریف کنید
شما عناصر capability را در یک فایل منبع shortcuts.xml در پروژه توسعه برنامه اندروید خود تعریف میکنید. برای تعریف یک عنصر capability ، موارد زیر را انجام دهید:
- با دنبال کردن دستورالعملهای موجود در بخش «ایجاد میانبرهای ایستا»، یک منبع
shortcuts.xmlایجاد کنید. اطلاعات مورد نیاز زیر را در توانایی خود لحاظ کنید:
نام قابلیت: عملی که میخواهید برنامه شما از آن پشتیبانی کند. برای ویژگیای که نیاز به تعاریف قابلیت دارد، به مستندات کامپوننت مراجعه کنید.
مقصد برنامه: مقصدی در برنامه شما که اکشن برای انجام درخواست کاربر اجرا میشود. مقاصد برنامه را با استفاده از عناصر
intentکه درونcapabilityقرار گرفتهاند، تعریف کنید.نگاشت پارامترها: هر
intentممکن است شامل پارامترهایی باشد که به عنوان دادههایextraintent ارسال میشوند.
مثال زیر تعریف قابلیتی را در shortcuts.xml برای actions.intent.START_EXERCISE نشان میدهد، یک BII که به کاربران اجازه میدهد از دستورات گفتاری با دستیار برای شروع تمرین در یک برنامه تناسب اندام استفاده کنند:
<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 اشاره دارد. اگر کاربری با پرسیدن «سلام گوگل، در ExampleApp یک اجرا را شروع کن» از دستیار، این BII را فراخوانی کند، دستیار درخواست کاربر را با استفاده از اطلاعات ارائه شده در عنصر intent تو در تو انجام میدهد. intent در این نمونه جزئیات زیر را تعریف میکند:
-
android:targetPackage بستهی برنامهی هدف را برای این intent تنظیم میکند. - فیلد
android:targetClassاکتیویتی مقصد را مشخص میکند:com.example.sampleApp.ExerciseActivity. -
parameterintent پشتیبانی از پارامتر BIIexercise.nameو نحوه ارسال مقدار پارامتر - که از کاربر جمعآوری شده است - را به عنوان داده اضافی درintentاعلام میکند.
مرتبط کردن میانبرها با یک قابلیت
پس از تعریف یک قابلیت، میتوانید با مرتبط کردن میانبرهای ایستا یا پویا با آن، عملکرد آن را گسترش دهید. نحوهی اتصال میانبرها به یک capability ، به ویژگی پیادهسازی شده و کلمات واقعی موجود در درخواست کاربر بستگی دارد. به عنوان مثال، وقتی کاربر با پرسیدن «سلام گوگل، در ExampleApp شروع به دویدن میکند»، در برنامهی ردیابی تناسب اندام شما شروع به دویدن میکند. دستیار میتواند از یک میانبر برای راهاندازی نمونهای از یک capability استفاده کند که یک موجودیت تمرین معتبر «run» را برای پارامتر exercise.name تعریف میکند.