ウィジェットの見つけやすさ

Android 8.0(API レベル 26)以降を搭載したデバイスでは、ユーザーが固定ショートカットを作成できるランチャーを使用して、ウィジェットをホーム画面に固定することもできます。固定ショートカットと同様に、これらの固定ウィジェットを使用すると、ユーザーはアプリ内の特定のタスクにアクセスできます。また、次の動画に示すように、アプリから直接ホーム画面に追加できます。

ウィジェットを固定する例
図 1. ウィジェットを固定する例。

ユーザーがウィジェットを固定できるようにする

アプリで、次の手順に沿って、サポートされているランチャーにウィジェットを固定するようシステムにリクエストできます。

  1. アプリのマニフェスト ファイルでウィジェットを宣言していることを確認します。

  2. 次のコード スニペットに示すように、requestPinAppWidget() メソッドを呼び出します。

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

ユーザーは、ウィジェット ピッカーから、またはウィジェットの機能が最も関連性の高いときにアプリ内から、ウィジェットを見つけて追加します。詳細については、検出とプロモーションをご覧ください。