يتيح إصدار 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
وعلى سبيل المثال، يتوافق الإصدار 3 من "مشغّل البرامج المفتوحة المصدر على 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
التنفيذ
إنّ AOSP Launcher3 يتوافق مع الاختصارات حاليًا. في الحالات التي يكون للشريك فيها مشغِّل التطبيقات الخاص بك، فيجب أن يتيح هذا المشغّل الاختصارات أيضًا.
- عندما ينفّذ المستخدم إيماءة معيّنة (مثل الضغط مع الاستمرار) على رمز أحد التطبيقات
يجب أن يعرض مشغّل التطبيقات الاختصارات الديناميكية والبيانية المرتبطة بكل
رمز نشاط مشغّل التطبيقات.
يتم تحديد ترتيب الفرز للاختصارات في ShorctutManager Javadoc داخل "ترتيب عرض الاختصار" . على سبيل المثال، عرض اختصارات البيان أولاً، ثم الاختصارات الديناميكية. يتم فرز الاختصارات حسب الترتيب في بترتيب تصاعدي داخل كل مجموعة. - من المفترض أن يتمكّن المستخدم من سحب كل اختصار ديناميكي أو بيان و"تثبيت". هو/هي إلى الشاشة الرئيسية.
- يجب الاحتفاظ بنسخة احتياطية من الاختصارات المثبّتة واستعادتها. (راجع ShortcutManager javadoc للحصول على التفاصيل)
- تنفيذ "رد مضمّن" في الإشعار، يجب الاتصال داخليًا ShortcutManager.onApplicationActive.
بالإضافة إلى ذلك، تحتوي بعض تطبيقات خدمات Google للأجهزة الجوّالة (GMS) على اختصارات. المصنّع الأصلي للجهاز أن يعرض مشغّل التطبيقات الاختصارات لها وأن يتيح بشكل مثالي استخدام ميزة "التثبيت" (أو إنشاء أيقونة اختصار) أيضًا.
يمكنك الاطّلاع على مصدر Launcher3 لمعرفة تفاصيل حول كيفية التفاعل مع إطار العمل. للعمليات المذكورة أعلاه.
التحقُّق
استخدِم اختبارات مجموعة اختبار التوافق مع Android (CTS) التالية للتأكّد من إصدار الميزة ("مدير ShortcutManager" و"مشغّل التطبيقات") على النحو المنشود:
cts/tests/tests/shortcutmanager/ cts/hostsidetests/shortcuts/
ويمكنك العثور على اختبارات الوحدة لتنفيذ AOSP هنا:
frameworks/base/services/tests/servicestests/
ويشمل ذلك:
src/com/android/server/pm/ShortcutManagerTest*.java
يمكنك أيضًا استخدام اختبار CTS Verifier لمدير الاختصارات:
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java