Visibilitas widget

Pada perangkat yang menjalankan Android 8.0 (API level 26) dan yang lebih tinggi, peluncur yang memungkinkan pengguna membuat pintasan yang dipasangi pin juga memungkinkan mereka memasang pin pada widget ke layar utama. Seperti pintasan yang dipasangi pin, widget yang dipasangi pin memberi pengguna akses ke tugas tertentu di aplikasi Anda dan dapat ditambahkan ke layar utama langsung dari aplikasi, seperti yang ditunjukkan dalam video berikut.

Contoh tata letak responsif
Gambar 2. Contoh memasang pin pada widget.

Mengizinkan pengguna memasang pin pada widget

Di aplikasi, Anda dapat mengajukan permintaan pada sistem untuk memasang pin pada widget ke peluncur yang didukung dengan melakukan langkah-langkah berikut:

  1. Pastikan Anda mendeklarasikan widget dalam file manifes aplikasi.

  2. Panggil metode requestPinAppWidget(), seperti yang ditunjukkan dalam cuplikan kode berikut:

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);
}

Pengguna menemukan dan menambahkan widget Anda melalui pemilih widget atau dari dalam aplikasi saat fungsi widget paling relevan. Untuk mengetahui informasi selengkapnya, lihat Penemuan dan promosi.