ウィジェットの導入とシステム設定

目次

1. 制約事項

ウィジェットアプリは、システムに常駐して一定周期で動作します。
そのため、バッテリーの消費懸念を理由に、システムから動作を制限される傾向にあります。
動作不安定になるケースや、Androidバージョンによって形状や挙動が変化するケースを、以下に挙げます。

1-1. 動作不安定/停止する状況

・電池残量低下時の挙動
 多くの端末では、電池残量が低下した場合、消費を抑えるべく、省電力に努めるよう動作します。(バッテリーセーバーやSTAMINAモード等と呼ばれる)
 その場合、本ウィジェット含め、アプリの挙動が制限される事となり、結果として画面が更新されなくなる場合があります。

・端末スリープ中の挙動
 ご利用の端末、設定によっては、端末スリープ中にウィジェットが更新されない場合があります。
 その場合、スリープ解除後に、保留されていた更新が始まるようになります。

システム設定からのデータ削除
 システム設定のアプリ情報より、対象アプリの「データを削除」を行った場合、対象アプリの設定情報が破棄されます。
 その際、既にホーム画面にウィジェットを作成済みの場合、ウィジェットが正常に表示されず、「NowLoading...」「Waiting...」となったまま、タップしても動作しない状態となる場合があります。
 このようになった場合は、当該ウィジェットをロングタップ(長押し)して、手動で削除してください。


1-2. Androidバージョンによって形状や挙動が変化

・ウィジェットの角丸表現
 Android12以降では、ウィジェットの角が丸く表示されます。これはAndroidの仕様となります。

・権限の利用許可
 Android12以降の一部端末と、Android14以降の多くの端末において、正確なアラームサービス(時刻などを契機としてアプリを動作させる仕組み)を利用しているウィジェットについては、「アラームとリマインダー」の利用許可が必要となります。

・サービス利用時の挙動
 ウィジェットそのものとは無関係ですが、「和暦日付ウィジェット」等における「更新サービス利用」など、「サービス」と呼ばれる仕組みを用いた際に、Androidのバージョンによっては、ステータスバーにアイコンが表示される場合と、表示されない場合があります。
 また、Android8においては、追加でAndroidシステムの「バックグラウンドで実行中」アイコンが表示される場合があります。


2. ウィジェットアプリのシステム設定

ウィジェットアプリは、ダウンロード/インストールしただけでは動作しない場合があります。
以下、動作させるために必要な手続きを説明いたします。

2-1. 権限「アラームとリマインダー」 の利用許可

特に時刻を表示するウィジェットにおいては、正確なタイミングで表示情報を更新するために、必要な権限となります。
Androidのバージョンや機種によって異なりますが、おおよそ以下のような傾向にあります。
・Android12未満では設定不要
・Android12~13では機種によって差異あり
・Android14以降で新規インストールした場合にほぼ必須

拙作アプリにおきましては、「和暦日付ウィジェット」「和暦日付ウィジェット2」が該当します。
設定手順を以下に示します。

例:Google Pixel6a / Android14 / 和暦日付ウィジェット

・アプリのアイコンをタップし、「はじめに」画面を表示させます。
 この時、「権限を許可」ボタンが表示された場合、設定が必要になります。
 表示されていない場合は、設定不要となります。

 ※他の画面(例:現在日時画面)に「権限の許可が必要です。タップしてください。」と表示される場合も同様となります。

・「アラームとリマインダー」の設定候補アプリ一覧が表示されますので、該当アプリをタップします。

・「アラームとリマインダーの設定を許可する」をONにします。

2-2. バックグラウンド動作制限の解除

Androidのバージョンや機種によって異なりますが、傾向としてAndroid10以降の場合、設定が必要になるケースが多いと思われます。
当方所有の端末につきましては、以下のような結果となりました。
Sony Xperia Z5 Premium /  Android7 → 設定不要
・Sony Xperia  XZs  /  Android8  →  設定不要
・Sony  Xpreria  XZ1  compact  /  Android9  →設定不要
Google Pixel6a / Android13 → 設定必要

手順を以下に示します。(実機確認出来ていないものが多いですが、ご容赦ください)

Samsung(One UI)の場合:
システムの設定 -> アプリ -> 対象アプリ -> バッテリー -> 最適化 -> 「制限無し」を選択


Oppo(ColorOS)の場合:
システムの設定 -> バッテリー -> 詳細なバッテリー設定 -> バッテリーの使用を最適化  -> 対象アプリ -> 「最適化しない」を選択


Huawei(EMUI)の場合:
システムの設定 -> 電池 -> アプリ起動 -> 対象アプリ -> 「自動的に管理」から「手動で管理」に変更、更に「自動起動」「他のアプリによる起動」「バックグラウンドで実行」を有効にする


Xiaomi(MIUI)の場合:
システムの設定 -> インストールアプリ -> 対象アプリ -> その他の権限 -> バックグラウンドで起動 -> 拒否(赤)を同意(緑)に変更

Xperia Z5 Premium (Android7)の場合

 システムの設定 -> バッテリー -> 右上のメニューボタンを選択


 電池の最適化を選択 -> 確認ダイアログが表示される場合は「OK」を選択

「アプリ」タブより本対象プリを選択

 「最適化しないアプリ」に対象アプリが表示されていれば、設定完了

Pixel 5a (5G) (Android12)の場合

 システムの設定画面 -> アプリ ->  xxx個のアプリをすべて表示 を選択

 対象アプリを選択 -> バッテリー -> 制限なし

3. ウィジェットの導入

3-1. 追加

ウィジェットはホーム画面上に追加(張り付け)する事で機能します。
手順はAndroidバージョンや機種、ご利用のホームアプリによって異なりますが、代表的と思われる手順を以下に示します。

・Xperia Z5 Premium / Android7 / Xperiaホーム の場合

 ホーム画面の空いている任意の場所をロングタップ(長押し)します。

 画面下部にアイコンが表示されますので、「ウィジェット」をタップします。

 利用可能なウィジェットが列挙されますので、スワイプして対象アプリを見つけだし、タップします。

 ホーム画面にウィジェットが貼り付けられます。


・Pixel 5a (5G) / Android12 / Pixel Launcher の場合

 ホーム画面の空いている任意の場所をロングタップ(長押し)します。

 メニューより「ウィジェット」をタップします。

 利用可能なウィジェットが列挙されますので、スワイプして対象アプリを見つけだし、タップします。



 表示されたウィジェットイメージをロングタップ(長押し)し、押したまま指をホーム画面に移動します。

 ※お好みで、ウィジェットのフチをタッチしたまま移動すると、サイズの変更が行えます。

 ホーム画面の、何も表示されてない部分(背景)をタップすると、ウィジェットの貼り付けが完了します。

・アプリ内からの追加

 アプリ内に、ウィジェット追加機能をもつものがあります。
 アプリ内の案内に沿って追加を行ってください。

 ※「ホーム画面に追加」ボタンによる貼り付け位置は、システムにより決定されます。ホーム画面が複数ページ存在する場合、利用者が直前に見ていたページ以外に追加される事もありますので、ご注意ください。

3-2. 移動

画面上に表示されたウィジェットをロングタップ(長押し)し、そのまま抑えたままにしておくと、ウィジェットが移動可能となります。

そのままズルズルと引っ張り、目的の位置で指を離すと、移動します。

3-3. サイズ変更

画面上に表示されたウィジェットをロングタップ(長押し)し、ウィジェットのフチが変化した時点で指を離します。

変化したフチ(辺)をタップしたまま引っ張ると、サイズが変更されます。

3-4. 削除

移動と同じ要領です。
画面上に表示されたウィジェットをロングタップ(長押し)し、そのまま抑えたままにしておくと、ウィジェットが移動可能となります。

そのまま、画面上に表示された削除マーク(ゴミ箱や×マークが一般的です)まで移動し、指を離すと、ウィジェットが削除されます。

4. トラブルシューティング

4-1. ウィジェットが更新されない(時刻が遅れる)

アプリ更新要因

 本アプリの更新を行った際、ウィジェットの更新処理が行われなくなる事があります。
 一度端末を再起動して頂く事で、復旧する可能性があります。

 また、「繰り返し停止しています」というメッセージが頻発する場合があります。
 根本的な原因は判明しておりませんが、キャッシュの削除で改善したケースがあります。

 キャッシュの削除手順:(※ご利用の端末やOSバージョンにより、多少文言に違いがあります
 システムの設定 > アプリ > すべてのアプリ > 対象アプリ > ストレージとキャッシュ > キャッシュを削除


バッテリー残量要因

 端末のバッテリー残量が低下した場合に、ウィジェット更新処理が行われなくなる事があります。
 端末のバッテリーを充電後、ランチャーアイコンをタップして説明画面を表示する事で、復旧する可能性があります。


・「アラームとリマインダー」利用許可要因

 Android12以降で発生する問題で、利用許可が無い場合は、時刻の周期的な更新が行われません。
 「2-1. 権限「アラームとリマインダー」 の利用許可」を手順を参考に、現状をご確認ください。


バックグラウンド動作制限要因

 Androidシステム側でバッテリー使用量節約を目的として、アプリの動作を制限している場合があります。
 その場合、本アプリを制限の対象から除外する事で、ウィジェット更新処理が改善する可能性があります。
 「2-2. バックグラウンド動作制限の解除」の手順を参考に、現状をご確認ください。



4.2 「Now Loading ... 」のまま変化しない

「Now Loading...」「Waiting...」の状態から変化しない場合は、内部で不具合が発生している可能性が高いと思われます。
暫定処置として、対象ウィジェットを削除し、あらたにウィジェットを追加する事で、動作する場合があります。

本現象が発生する直前に行った設定があれば、その内容を添えて当方にご連絡ください。

5. 参考情報

Google  Android ヘルプ 記載のウィジェット操作手順
https://support.google.com/android/answer/9450271?hl=ja

※Android、Google、Google Play、Google Playストア、Google Pixel、Pixelランチャー は、Google LLC の商標または登録商標です。
※Xperia、Xperiaホーム は、ソニー株式会社の商標または登録商標です。

2023/09/29  更新 「ウィジェットの導入とシステム設定」として他項から集約
2022/04/27 作成