Funtouch OS AOD 格闘ログ

* Summary in English is available at the bottom

いまやほぼすべての有機 EL 搭載 Android 端末に実装されている Always-on Display (AOD) 機能。
スリープしている間も時間やバッテリー情報、通知アイコンを表示してくれる機能で、通知ジャンキーの私には必須機能となっています。

しかし vivo の Funtouch OS ではなぜだか vivo 側で対応している一部アプリの通知アイコンしか表示できません。(ほかのメーカーでは、基本すべてのアプリの通知アイコンを表示できます。)

今回、これを何とかすべてのアプリで表示できないか探ってみました。結論としては、任意のアプリの通知アイコンを出すことはできませんでした。ただ、もし何かの役に立てばと思い、試行錯誤の過程を共有します。

AOD 設定画面

Funtouch OS の AOD の通知アイコン設定画面はこんな感じになっています。

Funtouch OS 側でサポートしているアプリがいくつかあるようで、その通知アイコンを表示するか?しないか?の設定しかありません。
なお、なぜか vivo は日本展開していないのに LINE の通知アイコン表示はサポートしているようです。

このリストに、ほかの任意のアプリのアイコンを足せないか試してみました。

adb で設定ファイルを探す

まずは adb で、AOD 関連の設定ファイルを探します。設定画面からして、おそらくどこかに通知アイコンを表示するパッケージ一覧を持っているはずです。
rooted でなくとも read できる範囲に設定ファイルがないか探しましたが、ありませんでした。下記のような感じです。(結局見つからなかったのでメモしておらず、記憶から呼び起こしました。)

2047:/ $ pwd
/
2047:/ $ find -name "*settings*" 2>/dev/null
2047:/ $ find -name "*display*" 2>/dev/null
2047:/ $ find -name "*aod*" 2>/dev/null
2047:/ $ find -name "*always*" 2>/dev/null

settings に設定がないか探す

次に、settings にパッケージ名を羅列しているキーがないか探します。すると、ありました。

2047:/ $ settings list system
...
allow_notification_applist=com.android.dialer;com.facebook.orca;jp.naver.line.android;com.android.mms;
...

ここに通知を表示したいパッケージ名を表示してあげればよさそうです。取り急ぎ、Twitter / Instagram を追加してみました。

2047:/ $ settings put system allow_notification_applist "com.android.dialer;jp.naver.line.android;com.instagram.android;com.twitter.android;"

しかし通知アイコンは表示されません。もちろん通知自体は届いています。しかも AOD の挙動が不安定になってしまいました。勝手に AOD 自体が無効になっていたり、有効でも表示されなかったりという具合です。

おそらく、通知アイコンを表示してもいいパッケージのリストをホワイトリストで管理しているのだろうと思い、こちらも settings に項目がないか探してみたところ、ありました。

2047:/ $ settings list global
...
flt_white_pkg_list=com.facebook.orca,com.whatsapp,jp.naver.line.android,com.viber.voip,com.zing.zalo
...

見たところ、サードパーティ製アプリではデフォルトでは Facebook Messenger, WhatsApp, LINE, Viber, Zalo に対応しているようです。

上記の顔ぶれを見てもわかる通り、通話系アプリをサポートしているようですね。

こちらにも Twitter / Instagram のパッケージ名を追加してみました。

2047:/ $ settings put global flt_white_pkg_list "com.facebook.orca,com.whatsapp,jp.naver.line.android,com.instagram.android,com.twitter.android"

すると、、、AOD の挙動の不安定さは解消されましたが、通知アイコンは出ず。

これ以外特にめぼしい設定項目はなさそうで、おそらく AOD 側の apk にもハードコードでホワイトリストがありそうな印象を受けました。これは adb だけではどうにもできなさそうです。

結論

・Funtouch OS の AOD の通知アイコンは vivo 側で許可したものしか出せない
・許可されているものは  Facebook Messenger, WhatsApp, LINE, Viber, Zalo (と思われる)
・adb でちょっといじる程度では解消しなさそう

xda でも似たような悩みを持っている人を見かけた(そして誰も解消できていない)ので、要約だけ英語で書いておきます。

Fighting against the AOD notification icons in Funtouch OS

Tried with adb (unrooted), I can't find any way to show arbitrary notification icons. There might be a whitelist in the AOD apk or system area.

While conducting this research, I found some interesting facts:

- Facebook Messenger, WhatsApp, LINE, Viber, and Zalo are allowed (whitelisted) to show their notification icons in AOD
- Following setting keys should be related to AOD notification icons:
    allow_notification_applist (system namespace)
    flt_white_pkg_list (global namespace)

Please let me know when you find a way to show them!
Twitter: @chiisama14

この記事が気に入ったらサポートをしてみませんか?