クレジットカードの利用通知に関しての記事に書いたが、AndroidスマートフォンはDOZEモードに入ると通知が受けられなくなる。
せっかくクレジットカードの利用速報が来るのに、スマートフォンがそれを受けられないという事になる。
Gmailも同様にDOZE中は殆ど受信できない。
DOZEにもいくつかの状態があるので、通知が受かる場合もある。
Gmailをリアルタイムに受信したければ、常に充電器を接続しておくか、スマートフォンを揺らす(持ち歩いている状態の再現)か、究極的にはiPhoneを使うことになる。
今回は通知を受けるアプリのDOZEを無効化してみる事にした。
ADBを使わず、スマートフォンの設定からアプリごとの設定変更が出来る。
しかしスマートフォンの設定でのバッテリー最適化設定と、ADBによるDOZE無効化は異なると書かれたものがあった。
アプリごとにバッテリーの最適化をオンにする
重要: アプリでバッテリーの最適化をオフにすると、自動調整バッテリーをオンにしていても、そのアプリを使っていない間の実行回数が増えることがあります。このため、バッテリーが必要以上に消費される可能性があります。
- スマートフォンの設定アプリを開きます。
- [アプリ]
[アプリをすべて表示] をタップします。
- アプリ
[アプリのバッテリー使用量] をタップします。
- [バックグラウンドでの使用を許可] をタップします。
- [バックグラウンドでの使用を許可] で、[最適化] をタップします。
ヒント: 一部の基本的なサービスに対しては、電池の最適化を利用できません。
ADBでDOZE自体を無効化することが出来るが、再起動すると元に戻ってしまう。
Xperia1は安定度に不安があるのか?定期的に再起動が促される。
それ以外にもカメラが不安定になることもあり、再起動すると直る。
と言うことでスマートフォン全体でのDOZE無効化ではなく、アプリ単位での無効化を試みることにする。
Googleで検索しても役立つサイトは出てこないというか、怪しげアプリの販売サイトなどが出てくるだけなので、Grokに聞いてみた。
すると以下の方法で出来るよとのお答えだ。

この方法でメッセージ通知Proをホワイトリストに追加した。
メッセージ通知Proのパッケージ名はjp.co.minds_net.msgnotifyproである。
ADB Shellで以下のコマンドを実行する。
dumpsys deviceidle whitelist +jp.co.minds_net.msgnotifypro
am set-inactive jp.co.minds_net.msgnotifypro false
ホワイトリストを見てみる。
LINEやMyDoCoMoアプリ、DropboxやBatteryMixなどが除外されていることが分かる。
jp.co.minds_net.msgnotifyproも追加されている。

1行目がバッテリーの最適化からの除外、2行目がバッテリーの最適化そのものを当該アプリで除外(どちらかで良いと思うが、よく分からない)。
続いてセゾンのアプリを除外する。

2行目:セゾンアプリのパッケージ名に”sais”が含まれていると予想して調べる。
3行明:パッケージ名がjp.co.saisoncard.android.saisonportalである事が分かる。
4行目:ホワイトリストに追加
5行目:追加されたよという応答
6行目:amコマンドでもバッテリー最適化から除外しておく
これでしばらく様子を見てみようと思う。
スマートフォンがDOZEに入っている状態でカード決済を行ったタイミングでないと分からないので、結果が出るまでには時間がかかると思う。
なおスマートフォン全体のDOZEを解除しても、バッテリー消費量に変化はなかった。
(過去に何度か実験している)
百害あって一利無しなのに、未だにGoogleがDOZEにこだわる理由が不明だ。
諸悪の根源と言われるドコモ電話帳アプリや、ドコモ位置情報など事業者モデルにプリインストールされていて、削除不可能なアプリはDOZE中でも動作し続ける設定だ。
過去にはドコモ電話帳の無効化により、たまに発生するバッテリー残量の急減少がなくなった事があった。
SONY販売モデルであれば余計なものはゲームエンハンサなどSONYアプリだけだが、事業者も出るには様々な邪魔なアプリが存在する。
それらを無効化したり、バッテリーの最適化を行う(ホワイトリストから取り除く)ことで、バッテリーの保ちが良くなる可能性がある。
なおホワイトリストからの削除は以下のコマンドで行う。
dumpsys deviceidle whitelist -<package_name>
コメント