قابلية اكتشاف الأداة

في الأجهزة التي تعمل بنظام التشغيل Android 8.0 (المستوى 26 لواجهة برمجة التطبيقات) والإصدارات الأحدث، تتيح مشغّلات التطبيقات التي تتيح للمستخدمين إنشاء اختصارات مثبَّتة إمكانية تثبيت التطبيقات المصغّرة على الشاشة الرئيسية. وعلى غرار الاختصارات المثبّتة، تتيح هذه التطبيقات المصغّرة المثبّتة للمستخدمين الوصول إلى مهام محدّدة في تطبيقك ويمكن إضافتها إلى الشاشة الرئيسية مباشرةً من التطبيق، كما هو موضّح في الفيديو التالي.

مثال على التنسيق المتجاوب
الشكل 2. مثال على تثبيت تطبيق مصغّر.

السماح للمستخدمين بتثبيت تطبيق مصغّر

في تطبيقك، يمكنك إنشاء طلب للنظام لتثبيت أداة في مشغّل تطبيقات متوافق من خلال إكمال الخطوات التالية:

  1. يجب تحديد أداة في ملف البيان الخاص بتطبيقك.

  2. استدعِ الطريقة requestPinAppWidget()، كما هو موضح في مقتطف الرمز التالي:

Kotlin

val appWidgetManager = AppWidgetManager.getInstance(context)
val myProvider = ComponentName(context, ExampleAppWidgetProvider::class.java)

if (appWidgetManager.isRequestPinAppWidgetSupported()) {
    // Create the PendingIntent object only if your app needs to be notified
    // when the user chooses to pin the widget. Note that if the pinning
    // operation fails, your app isn't notified. This callback receives the ID
    // of the newly pinned widget (EXTRA_APPWIDGET_ID).
    val successCallback = PendingIntent.getBroadcast(
            /* context = */ context,
            /* requestCode = */ 0,
            /* intent = */ Intent(...),
            /* flags = */ PendingIntent.FLAG_UPDATE_CURRENT)

    appWidgetManager.requestPinAppWidget(myProvider, null, successCallback)
}

Java

AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
ComponentName myProvider = new ComponentName(context, ExampleAppWidgetProvider.class);

if (appWidgetManager.isRequestPinAppWidgetSupported()) {
    // Create the PendingIntent object only if your app needs to be notified
    // when the user chooses to pin the widget. Note that if the pinning
    // operation fails, your app isn't notified. This callback receives the ID
    // of the newly pinned widget (EXTRA_APPWIDGET_ID).
    PendingIntent successCallback = PendingIntent.getBroadcast(
            /* context = */ context,
            /* requestCode = */ 0,
            /* intent = */ new Intent(...),
            /* flags = */ PendingIntent.FLAG_UPDATE_CURRENT);

    appWidgetManager.requestPinAppWidget(myProvider, null, successCallback);
}

ويكتشف المستخدمون تطبيقك المصغّر ويضيفونه من خلال أداة اختيار التطبيقات المصغّرة أو من داخل التطبيق عندما تكون وظيفة الأداة أكثر صلة. لمزيد من المعلومات، راجِع مقالة الاستكشاف والترويج.