اختصارات التطبيقات

يتيح إصدار 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 Open Source Project Launcher الاختصارات:

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 الاختصارات بالفعل. في الحالات التي يكون فيها لدى الشريك مشغل خاص به، يجب أن يدعم هذا المشغل الاختصارات أيضًا.

  • عندما يقوم المستخدم بإجراء إيماءة معينة (على سبيل المثال، الضغط لفترة طويلة) على أيقونة التطبيق، يجب أن يعرض المشغل الاختصارات الديناميكية والواضحة المرتبطة بكل رمز نشاط للمشغل.
    يتم تعريف ترتيب فرز الاختصارات في ShortcutManager Javadoc ضمن قسم "ترتيب عرض الاختصارات". على سبيل المثال، قم بإظهار اختصارات البيان أولاً، ثم الاختصارات الديناميكية. يتم فرز الاختصارات حسب الترتيب بترتيب تصاعدي داخل كل مجموعة.
  • يجب أن يكون المستخدم قادرًا على سحب كل اختصار ديناميكي/ظاهري و"تثبيته" على الشاشة الرئيسية.
  • يجب عمل نسخة احتياطية من الاختصارات المثبتة واستعادتها. (راجع javadoc الخاص بـ ShortcutManager للحصول على التفاصيل)
  • يجب أن يؤدي إجراء "رد مضمّن" على الإشعارات إلى استدعاء ShortcutManager.onApplicationActive داخليًا.

بالإضافة إلى ذلك، تحتوي بعض تطبيقات Google Mobile Services (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 Verifier لمدير الاختصارات:

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