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

على الأجهزة التي تعمل بالإصدار 8.0 من نظام التشغيل Android (المستوى 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);
}

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