1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AndroidのWidgetの再設定とバージョンの話

Posted at

背景

AndroidのWidget開発をしている時に長押しして表示する項目を再設定を行おうとした。しかし、できない端末がありました。調査すると下記のようなことがあるみたいです。

Androidのバージョンによって再設定できないものがある

公式によると下記のように述べています。

**デフォルトでは、アプリ ウィジェット ホストは、ユーザーがウィジェットをホーム画面に追加した直後に、設定アクティビティを 1 回だけ起動します。ただし、デフォルトのウィジェット構成を指定して、ユーザーが既存のウィジェットを再構成できるようにしたり、ウィジェットの初期構成をスキップできるようにしたりするオプションを指定できます。

注:** これらのオプションは、Android 12(API レベル 31)以降でのみ使用できます。以前のバージョンの Android では指定できますが、システムは指定を無視してデフォルトの動作を行います。

ユーザーが既存のウィジェットを再構成できるようにするには、appwidget-provider の widgetFeatures 属性に reconfigurable フラグを指定します。詳しくは、AppWidgetProviderInfo.xml ファイルを宣言するガイドをご覧ください。例:

要するにAndroid12以降ではこのWidgetの再設定を行えますが、これ以前はできないみたいです。

Android12以前ものはどのようにすればいいのか

何かボタンのようなものを配置して、設定画面を開くようにするなどしてカスタムするのが適当なのでしょうか。

実装

Android12のものを想定しています。また、公式から説明やコードを拝借しています。

ユーザーが既存のウィジェットを再構成できるようにするには、appwidget-provider の widgetFeatures 属性に reconfigurable フラグを指定します。詳しくは、AppWidgetProviderInfo.xml ファイルを宣言するガイドをご覧ください。

<appwidget-provider
    android:configure="com.myapp.ExampleAppWidgetConfigurationActivity"
    android:widgetFeatures="reconfigurable">
</appwidget-provider>

参考記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?