Pada perangkat yang menjalankan Android 8.0 (API level 26) dan yang lebih tinggi, peluncur yang memungkinkan pengguna juga membuat pintasan yang disematkan biarkan mereka menyematkan widget ke layar utama. Mirip dengan pintasan yang disematkan, pintasan ini widget yang disematkan memberi pengguna akses ke tugas tertentu di aplikasi Anda dan dapat ditambahkan ke layar beranda langsung dari aplikasi, seperti yang ditunjukkan dalam video berikut.
![Contoh tata letak responsif](https://developer.android.com/static/images/appwidgets/widget_pinning.gif?hl=id)
Izinkan pengguna menyematkan widget
Di aplikasi, Anda dapat membuat permintaan agar sistem dapat menyematkan widget ke peluncur yang didukung dengan menyelesaikan langkah-langkah berikut:
Pastikan Anda mendeklarasikan widget dalam file manifes aplikasi.
Panggil
requestPinAppWidget()
, seperti yang ditampilkan 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); }
Panduan desain terkait
Pengguna menemukan dan menambahkan widget Anda melalui pemilih widget atau dari dalam aplikasi saat fungsi widgetnya paling relevan. Untuk informasi selengkapnya, lihat Penemuan dan promosi.