Immersive Settings と Immersive CustomTabsの違いについて
「Immersive Settings」と「Immersive CustomTabs」は、共にAndroidの画面表示を没入モード表示にするといった点では共通していますが、その実装方法に由来して、挙動がそれぞれ異なります。
「Immersive Settings」ではAndroidのシステム設定を更新することで没入モードを実現しています。
システム設定を変更するために、アプリに対し「WRITE_SECURE_SETTINGS」権限を付与する必要があります。(この権限は本来プリインストールされたシステム関連アプリでのみ許可されるべき権限です。権限付与等の作業は自己責任でお願いします)
OSの機能に則って表示を切り替えているため比較的安定した動作が望めます。
没入モード時にテキストフィールドを選択した際に、ソフトウェアキーボードが正常に表示される。
一部のレイアウトが固定されるアプリにおいても、ナビゲーションバー部分が空白とならずフルスクリーンで表示される。
ただし、以下のパターンのいずれかで、除外アプリ以外の表示は統一されます。アプリごとに異なるパターンで画面を表示することはできません。
ステータスバーのみ非表示(immersive.status)
ナビゲーションバーのみ非表示(immersive.navigation)
フルスクリーン表示(immersive.full)
また、本アプリではシステム設定の変更のみを行っているため、本アプリをアンインストールしても継続して画面表示の状態は維持されます。アンインストールする前に通常表示を指定して、全てのチェックボックスを外すことで本来の表示に復元することができます。
「Immersive CustomTab」では、透明なオーバーレイビューを没入モードで表示することにより、強制的に見かけ上没入モードが適用されているようにみせています。そのため、アプリによってはそのアプリの機能と干渉して不自然な挙動となる可能性があります。
没入モード中にテキストフィールドを選択しても、ソフトウェアキーボードが表示されない。(一時的に没入モード表示を解除することでテキスト入力は可能です)
もともと没入モードで表示を行っているアプリの場合、表示崩れが発生する可能性ある。
一部のアプリにおいて、ナビゲーションバーやステータスバーの部分が空白となり、完全なフルスクリーンにならない。
その代わり特にシステム設定の変更は不要で、本アプリをアンインストールすることで元の画面表示を復元することができます。