【Android】
LINEの着信画面がロック画面に出ない?
(通知の全画面表示の許可)

  • ロック中に出る着信画面は、通知カードではなく、「全画面インテント」という仕組みが使われ、アプリの画面そのものをシステムが起ち上げたものです。
  • Android 14から、この仕組みを使う権限(通知の全画面表示の許可)は、通話アプリとアラームアプリなどに限定して与えられるようになり、それ以外のアプリは手動での許可が必要になりました。
  • これは近年、悪質なアプリが勝手に全画面広告を表示する事例が相次いだため、その対策です。
  • LINEの場合、新しい端末にインストールし直した時点で、その権限を取り消されることがあり、自分で許可する必要があります。

関連記事

1. LINEや電話の着信が開けない?

「スマートフォンを買い替えたら、LINE通話がかかってきてもロック画面に着信画面が出なくなった」という相談がありました。

音は鳴る。 でも画面には小さな通知が並ぶだけで、応答ボタンが見当たらない。

前の端末では当たり前に出ていたのですが、買い替え後には表示されなくなっていました。
設定を見ていくと、「通知の全画面表示の許可」という項目がオフになっている。
これをオンにしたら直りました。

2. ロック画面の着信画面は、通知ではなく画面の起動

まず、あの着信画面は通知ではありません。
通知は、システムが用意した枠にアイコンとテキストを流し込んで表示するものです。

2.1. 全画面インテント

それに対して着信画面は、LINEというアプリの画面そのものをシステムが前面に引っ張り出しています。
ロックされた状態を飛び越えて、アプリの画面が最前面に来る。

この仕組みが「全画面インテント(full-screen intent:フルスクリーン・インテント)」です。
アプリは通知を作るときに、通知そのものと一緒に「これを表示するときは、この画面を起ち上げてほしい」という指定を添えられます。 端末が消灯中かロック中なら、システムは通知を出す代わりにその画面を起動します1

面白いのは、ロックが解除されている間はこの指定が働かないことです。
操作中に着信があれば、画面上部に大きめの通知が一時的に降りてくるだけ。

2.2. ヘッズアップ通知

ヘッズアップ通知(heads-up notification:ヘッドアップ通知)と呼ばれる表示で、全画面には切り替わりません2。 使っている最中に画面を丸ごと奪われたら邪魔なので、そういう作りになっています。

だから「通知が来ない」と「着信画面が出ない」は、症状としては近くても原因の層が違います。 通知は届いているのに画面が起ち上がらないなら、疑うべきは通知の設定ではなく、画面を起ち上げる権限のほうです。

3. 買い替えで消えたのは設定ではなく権限

3.1. 通話とアラームだけが自動で許可される

全画面インテントを使うには、アプリが USE_FULL_SCREEN_INTENT という権限を持っている必要があります。 Android 13までは、アプリ側が使うと宣言すればほぼ自動で通る、軽い扱いの権限でした。

これがAndroid 14で「特別なアプリアクセス」に格上げされます3
理由は、ロック画面を丸ごと乗っ取れる強さを広告に使うアプリが出てきたからです。
突然フルスクリーンの広告が出る。 本物そっくりのログイン画面が出て、パスワードを入力させようとする。 画面全体を占有できるということは、利用者をだます側にとっても都合がいいわけです。

そこでGoogleは、自動で権限が与えられる範囲を「コア機能が通話またはアラームであるアプリ」に限りました。 アプリの主要な目的がそこにあり、それがなければアプリとして成立しない、という水準です。 電話アプリと目覚まし時計アプリは通る。 LINEは通話機能を持っていますが、あくまでメッセージアプリなので通りません。 Playストアはアプリのインストール時に、この条件に合わないアプリの権限を取り消します。 2024年5月31日から適用されているルールです4

権限がない場合、全画面インテントを指定した通知は無視されるのではなく、ヘッズアップ通知として表示されます。 着信音は鳴り、通知も出る。 けれど画面は起ち上がらない。 買い替え後に起きていたのは、まさにこの状態でした。

3.2. 引き継がれるものと、引き継がれないもの

ではなぜ、前の端末では出ていたのか。

Android 14へのアップデートには経過措置があって、更新前からインストールされていたアプリは権限を持ったままになります。 利用者が自分でオフにしない限り、そのまま動き続ける5。 古い端末を使い続けている人にとっては、何も変わらなかったわけです。

新しい端末は事情が違います。 そこにあるLINEは、移行してきたLINEではなく、Playストアから新規にインストールされたLINEです。 インストールの時点でPlayストアが権限を判定し、条件に合わないので取り消す6。 トーク履歴も友だちリストもアカウント設定も引き継がれているのに、着信画面の挙動だけ変わって見えるのは、そこだけが端末側の状態だからです。

似た話はもう一つあって、Android 13からは通知を出すこと自体にも POST_NOTIFICATIONS という実行時権限が要るようになりました。 アプリを入れた直後に「通知の送信を許可しますか」と聞かれるあれです7。 権限まわりはここ数年で細かく変更されていて、機種変更のたびに一度は聞かれ直す設計になっています。

4. 全画面で出るには条件がそろう必要がある

4.1. 通知チャンネルの重要度と、LINE側の着信許可

ただし、権限をオンにしても着信画面が出ないことがあります。 全画面表示は、いくつかの条件がすべて成立したときだけ発動するからです。

一つは通知チャンネル(notification channel:通知チャンネル)の重要度です。 Android 8以降、通知はアプリ単位ではなくチャンネル単位で管理されていて、LINEならメッセージ、通話、LINE VOOMといった具合に分かれています。 このうち着信用のチャンネルの重要度が「高」以上でないと、ヘッズアップ通知も全画面表示も出ません8。 音だけ鳴って画面は静か、という中途半端な状態になります。

もう一つはLINEアプリ側の設定です。 ホームから設定へ進み、通話の中にある通話の着信許可がオフだと、そもそも着信通知が作られません。 Androidの通知設定は上位と下位が入れ子になっていて、端末全体の通知、アプリ単位の通知、チャンネル単位の通知、そして全画面表示の権限が、それぞれ独立に効きます。 どれか一つでも閉じていれば、そこで止まる。

4.2. 省電力とメーカー独自の制限

条件がそろっていても、省電力機能に足を引っ張られることがあります。

バッテリー最適化の対象になっていると、バックグラウンドでの通信や処理が抑えられ、プッシュ通知の受信そのものが遅れます。 着信画面が出るころには相手が切っていた、ということも起きる。 LINEは公式に、バッテリー使用量の設定を「制限なし」にすること、バックグラウンドデータを許可すること、アプリを手動で強制終了しないことを案内しています9。 使わないアプリはタスクから消す、という習慣が裏目に出るところです。

機種ごとの差も無視できません。 Androidはメーカーが独自に手を入れられるので、通知まわりの設定項目の名前も置き場所も揃っていません。 GalaxyやXiaomiの端末には「ポップアップ表示」のような独自の項目があり、Googleの標準設定とは別に有効化が要る場合があります。 今回の端末では「通知の全画面表示の許可」という名前でしたが、機種によっては特別なアプリアクセスの中に「全画面インテントの管理」としてまとまっていることもあります。 探し方としては、アプリの通知設定の一番下までスクロールしてみるのが手っ取り早いです。

5. ロック画面の表示レベルは、また別のつまみ

今回はもう一つ、ロック画面の通知の見え方も変更しました。 こちらは着信画面とは無関係の設定です。

Androidの通知には公開度という属性があって、ロック中にどこまで見せるかを三段階で扱います。

  • すべて表示する、
  • 送信者名や本文を伏せて通知が来たことだけ示す、
  • ロック画面には出さない。

端末全体の既定値を決めたうえで、アプリごとに上書きもできます10。 機種によっては「機密性の高い通知」という一つのスイッチにまとめられていて、オフにするとロック画面の通知が一律で簡素になります11。 移行直後は保守的な既定値が当たっていることが多く、それで着信の相手すら見えなかったのだと思います。

ただし、紛らわしいのですが、携帯電話回線の着信は今回いじった画面とは関係ありません。 標準の電話アプリは既定の電話アプリとして権限を持っているので、全画面表示は最初から通ります。 それでもロック画面に出ないなら、原因は電話アプリ側の通知設定か、ロック画面の表示レベルのほうです。 同じ画面にある「通知ドットを許可」も、ホーム画面のアイコンに小さな点を付けるだけの設定で、着信には関わりません12

全画面表示をオンにすると、ロック中でも相手の名前とアイコンが画面いっぱいに出ます。 見逃さなくなる代わりに、机に置いたスマートフォンを覗かれれば誰から連絡が来たかは丸見えです。 メッセージの本文は伏せておいて、通話の着信だけ全画面にする。 このあたりが折り合いのつくところでしょうか。

権限の話は、たいてい「便利さを削って安全を取る」方向に進みます。 広告や偽ログイン画面を締め出すために全画面表示を絞ったら、通話アプリではないLINEの着信も一緒に締め出された。 そのぶんの手当てを利用者が自分で戻す、という設計になっているわけです。 買い替えのたびに同じことをやる羽目になりそうですが、仕組みがわかっていれば探す場所は決まります。

  1. Androidの公式ドキュメントでは、通知に setFullScreenIntent で全画面のアクティビティを指定でき、端末がロックされているときはそのアクティビティが起動すると説明されています。 – 通知を作成する | Views | Android Developers
  2. 着信通知が全画面で表示されるのは画面ロック中だけで、ロックが解除されているときはポップアップ表示になる、という動作が実機で確認されています。 – AndroidスマホでLINE電話を全画面で通知する方法
  3. Google Playのポリシーでは、USE_FULL_SCREEN_INTENT が通常の権限から特別なアプリアクセスの権限に切り替わり、自動付与はアラーム設定や音声・ビデオ通話の着信をコア機能とするアプリに限られると説明されています。 – フォアグラウンド サービスと全画面インテントの要件について – Play Console ヘルプ
  4. Android 14以降をターゲットとするアプリでは、この権限の使用が通話とアラームを提供するアプリに限定され、条件に合わないアプリのデフォルトの権限はGoogle Playストアが取り消すと案内されています。 – 動作の変更点: Android 14 以上をターゲットとするアプリ
  5. ユーザーがAndroid 14にアップデートする前からインストールされていたアプリについては権限が有効なまま残り、ユーザー自身がオンとオフを切り替える形になります。 – 動作の変更点: Android 14 以上をターゲットとするアプリ
  6. Android 14にインストールされるアプリの権限は初期状態では有効ですが、通話やアラームの機能を持たないアプリについてはインストール時にGoogle Playストアが全画面インテントの権限を取り消す、と記載されています。 – Full-screen intent limits | Android Open Source Project
  7. 端末をAndroid 13以降にアップグレードした場合は対象アプリに通知権限が事前付与されるため確認画面は出ませんが、新規インストールでは実行時に許可を求める流れになります。 – 通知に関する実行時の権限 | Android Developers
  8. チャンネルの重要度は IMPORTANCE_NONE から IMPORTANCE_HIGH までの5段階で指定し、そのチャンネルに届く通知の割り込み方が決まります。 – 通知チャンネルを作成して管理する | Android Developers
  9. LINEヘルプセンターは、アプリを強制終了すると通知が遅れたり届かなくなる場合があるとして、控えるよう案内しています。 – 通知が届かない/通知音(着信音)が鳴らないなどの問題が発生している | LINEヘルプセンター
  10. 端末全体の既定値を選んだ場合でも、アプリごとの設定で「プライベートな通知内容を非表示にする」や「通知をすべて表示しない」を選んで制限できます。 – Android で通知を管理する – Android ヘルプ
  11. 設定の通知から「機密性の高い通知」をオフにすると、メールやLINEなどロック画面の通知表示が簡素になる、という検証記事があります。ロックを解除すれば通知は展開されます。 – Android端末のロック画面で「機密性の高い通知」をオフにする方法
  12. Android 8.0で導入されたランチャーアイコン上の通知バッジのことで、通知ドットとも呼ばれます。 – Android 8.0 の機能と API | Android Developers