Widget bulunabilirliği

Android 8.0 (API düzeyi 26) ve sonraki sürümlerin yüklü olduğu cihazlarda, kullanıcıların sabitlenmiş kısayollar oluşturmasına olanak tanıyan başlatıcılar, widget'ları ana ekranlarına sabitlemelerine de olanak tanır. Sabitlenmiş kısayollara benzer şekilde, bu sabitlenmiş widget'lar da kullanıcılara uygulamanızdaki belirli görevlere erişim imkanı sunar ve aşağıdaki videoda gösterildiği gibi doğrudan uygulamadan ana ekrana eklenebilir.

Widget sabitleme örneği
Şekil 1. Widget sabitleme örneği.

Kullanıcıların widget'ları sabitlemesine izin verme

Uygulamanızda, aşağıdaki adımları tamamlayarak sistemden desteklenen bir başlatıcıya widget sabitlemesini isteyebilirsiniz:

  1. Uygulamanızın manifest dosyasında bir widget beyan ettiğinizden emin olun.

  2. Aşağıdaki kod snippet'inde gösterildiği gibi requestPinAppWidget() yöntemini çağırın:

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 or PendingIntent.FLAG_IMMUTABLE
    )

    appWidgetManager.requestPinAppWidget(myProvider, null, successCallback)
}

Kullanıcılar, widget'ın işlevselliğinin en alakalı olduğu zamanlarda widget seçici aracılığıyla veya uygulamanızın içinden widget'ınızı keşfedip ekler. Daha fazla bilgi için Keşif ve tanıtım başlıklı makaleyi inceleyin.