میان‌برهای برنامه

نسخه Android 7.1.1 به توسعه‌دهندگان امکان می‌دهد میان‌برهای کنش‌محور را در برنامه‌هایشان تعریف کنند تا در راه‌انداز نمایش داده شود. این میان‌برهای برنامه به کاربران اجازه می‌دهد کارهای رایج یا توصیه‌شده را به‌سرعت در برنامه شروع کنند.

هر میان‌بر به هدفی ارجاع می‌دهد که وقتی کاربران میان‌بر را انتخاب می‌کنند، کنش خاصی را در برنامه راه‌اندازی می‌کند. نمونه‌هایی از کنش‌هایی که می‌توانید به‌عنوان میان‌بر برنامه بیان کنید عبارت‌اند از:

  • هدایت کاربران به مکانی خاص در برنامه نقشه‌برداری
  • ارسال پیام به دوست در برنامه ارتباطی
  • پخش قسمت بعدی یک نمایش تلویزیونی در برنامه رسانه
  • درحال بار کردن آخرین نقطه ذخیره در برنامه بازی

مثال‌ها و منبع

می‌توانید پیاده‌سازی اصلی این ویژگی را در فایل‌های زیر پیدا کنید:

frameworks/base/services/core/java/com/android/server/policy/ShortcutManager.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackage.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutUser.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutLauncher.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutParser.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutService.java
frameworks/base/services/core/java/com/android/server/pm/LauncherAppsService.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageItem.java
frameworks/base/core/java/com/android/server/backup/ShortcutBackupHelper.java
frameworks/base/core/java/android/content/pm/ShortcutManager.java
frameworks/base/core/java/android/content/pm/ShortcutServiceInternal.java
frameworks/base/core/java/android/content/pm/ShortcutInfo.java
frameworks/base/core/java/android/content/pm/LauncherApps.java

با فایل‌های زیر که ویژگی‌های پشتیبانی ارائه می‌دهند (در ShortcutManager.java «میاناهای برنامه‌سازی کاربردی پنهان» نامیده می‌شوند):

packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java

و برای مثال، «راه‌انداز پروژه منبع باز Android» نسخه ۳ از میان‌برها پشتیبانی می‌کند:

packages/apps/Launcher3/

درنهایت، فایل‌های زیر را برای Javadoc عمومی ببینید.

frameworks/base/core/java/android/content/pm/ShortcutManager.java
frameworks/base/core/java/android/content/pm/ShortcutInfo.java
frameworks/base/core/java/android/content/pm/LauncherApps.java

پیاده‌سازی

«راه‌انداز AOSP3» ازقبل از میان‌برها پشتیبانی می‌کند. در مواردی که شریک راه‌انداز خودش را دارد، آن راه‌انداز باید از میان‌برها نیز پشتیبانی کند.

  • وقتی کاربر ژست خاصی (مثلاً فشار طولانی) روی نماد برنامه انجام می‌دهد، راه‌انداز باید میان‌برهای پویا و مانیفست مرتبط با هر نماد فعالیت راه‌انداز را نشان دهد.
    ترتیب مرتب‌سازی میان‌بر در ShorctutManager Javadoc در بخش «ترتیب نمایش میان‌بر» تعریف شده است. برای مثال، ابتدا میان‌برهای مانیفست و سپس میان‌برهای پویا را نشان دهید. میان‌برها براساس رتبه در هر گروه به‌ترتیب صعودی مرتب می‌شوند.
  • کاربر باید بتواند هر میان‌بر پویا/مانیفست را بکشد و آن را در صفحه اصلی «سنجاق» کند.
  • از میان‌برهای سنجاق‌شده باید پشتیبان‌گیری و بازیابی شود. (برای جزئیات، javadoc مربوط به ShortcutManager را ببینید)
  • انجام «پاسخ درجا» در «اعلان» باید به‌صورت داخلی ShortcutManager.onApplicationActive را فراخوانی کند.

علاوه‌براین، برخی‌از برنامه‌های «سرویس‌های تلفن همراه Google» (GMS) میان‌بر دارند. راه‌انداز OEM باید میان‌برهای آن‌ها را نشان دهد و ترجیحاً از «سنجاق کردن» (یا ایجاد نماد میان‌بر) نیز پشتیبانی کند.

برای جزئیات مربوط به نحوه تعامل با چارچوب برای عملیات بالا، به منبع Launcher3 مراجعه کنید.

اعتبارسنجی

از آزمون‌های «مجموعه آزمون سازگاری Android» (CTS) زیر استفاده کنید تا مطمئن شوید نسخه ویژگی شما (ShortcutManager و LauncherApps) همان‌طور که درنظر گرفته شده است کار می‌کند:

cts/tests/tests/shortcutmanager/
cts/hostsidetests/shortcuts/

و آزمون‌های واحد برای پیاده‌سازی AOSP را در اینجا پیدا کنید:

frameworks/base/services/tests/servicestests/

که شامل موارد زیر می‌شود:

src/com/android/server/pm/ShortcutManagerTest*.java

همچنین می‌توانید از آزمون «درستی‌سنج CTS» برای مدیر میان‌بر استفاده کنید:

cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java