Androidでキオスクモードしたい
基本的にできない。 のだけれど、Androidの動作を見てるとHOMEとかが消えたりすることがある。
どうやってるのかと調べてみた。
どうやら、StatusBarManager経由でStatusBar上のアイテムのON/OFFを簡単に切り替えることができる様子。 (ただし、"android.permission.STATUS_BAR"が必要になるため、Platform署名が必要となる。)
適当に書いたサンプルは以下の通り。
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mStatusBarManager = (StatusBarManager)getSystemService(Context.STATUS_BAR_SERVICE); mStatusBarManager.disable(StatusBarManager.DISABLE_HOME); } @Override protected void onPause() { super.onPause(); mStatusBarManager.disable(StatusBarManager.DISABLE_NONE); }
上記を実行すれば、アプリケーション起動と共にHOMEボタンが消える。 その他にも、NOTIFICATION_ICONS/SYSTEM_INFO/SEARCH/BACK/RECENT/...etc と指定できるので、 全指定すればその画面にユーザーをロックすることは可能かもしれない。
元に戻したい時は、onPause()の処理を参考にどうぞ。