0

フルスクリーンの切り替え機能を含むアプリがあります。
次のコードを使用して、フルスクリーンの切り替えに成功しました。

    if (tofull) {

        if (Build.VERSION.SDK_INT < 16) {
            Log.i("toggleFullScreen", "API<16");
            getWindow().setFlags(
                    WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        } else {
            Log.i("toggleFullScreen", "API>=16");
            View decorView = getWindow().getDecorView();
            // Hide the status bar.
            // int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
            int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
            decorView.setSystemUiVisibility(uiOptions);
        }

    } else {
        if (Build.VERSION.SDK_INT < 16) {
            Log.i("toggleFullScreen", "API<16");
            getWindow().clearFlags(
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        } else {
            Log.i("toggleFullScreen", "API>=16");
            View decorView = getWindow().getDecorView();
            // Hide the status bar.
            int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;
            decorView.setSystemUiVisibility(uiOptions);
        }
    }

フルスクリーンモードに切り替えた後、ステータスバーを非表示にすることができます。

ただし、ハードウェア メニュー キーボタンを押すと (メニュー キーを押した後に表示されるオプション メニューがあります)、ステータス バーが出てきます。またステータスバーが隠れなくなりました

この問題が存在する理由として考えられるものは何ですか?
誰かがそれを解決できますか(ステータスバーを自動的に非表示にします)?

4

2 に答える 2