ジャンル不定の日記です。

スリープ時にIP電話の着信ができない・・・

メインスマホ(SC-02C)をCyanogenmod 11(Android 4.4)からLineageOS 14.1(Android 7.1)にしたが、
Android標準電話でIP-Phone SMART(050IP電話)が長時間スリープの時に着信しない。
Android 6.0以降はDOZEとやらで長時間スリープするとアプリの通信が切れるってのは知ってたが、Android標準電話なら問題ないと思ってたのだがダメ。
電池の設定から電話アプリを「電池を最適化しない」にしてもダメ。

標準電話ではなくSmartTalkで「電池を最適化しない」にすると着信できるとの情報を発見したので試したが、
こちらは長時間スリープでなくても画面消灯した直後でも着信しないw
画面点灯中は確認してない。

Zoiperってアプリもよく目にするがこれは着信できるのだろうか?
だが、電話はAndroid標準機能で搭載されてるから、できれば別途アプリを入れたくないね。

日本語情報はここに書いてあるが、
SHScriptRunner_NoDoze.apk
ってのを実行するとDOZEを阻止できるとか。
試してみるか・・・
って、リンク切れててスクリプトが入手できないわw
だが、中身はSH Script Runnerというコマンド実行ツールで
$ dumpsys deviceidle disable
を実行してるだけぽい?
このコマンドって1度実行すると再起動までDOZE入らないようになるのか?

$ adb shell dumpsys deviceidle -h
で説明見ると、
force-idle [light|deep]
    Force directly into idle mode, regardless of other device state.
unforce
    Resume normal functioning after force-idle or force-inactive.
disable [light|deep|all]
   Completely disable device idle mode.
enable [light|deep|all]
   Re-enable device idle mode after it had previously been disabled.
enabled [light|deep|all]
  Print 1 if device idle mode is currently enabled, else 0.
こんな感じで書かれてる。(オプションはもっと多い。)
確かに、disableしたあとenableで戻せると書いてあるし、モード移行のコマンドはforce-idleとunforceの様なのでdisableすれば無効にできそう?

なら、adbでdisableしちゃえば再起動するまでは同じことだな。
ちょっと試してみるか。
効果あるようなら専用アプリ作っちゃっても良いな。