web-dev-qa-db-ja.com

Android Ice CreamSandwichのステータスバーを非表示にする

Android ICSのランチャーで作業していますが、タブレットに問題があります。

ステータスバーを非表示にできません。 Android 2.3.Xで試してみましたが、問題ありません。問題はAndroid 4.0でのみ発生します。

どうすれば非表示にできますか?

13
NachoMV

タブレットのシステムバーを取り除くことはできません。あなた電話のナビゲーションバーとステータスバーを取り除くことができるかもしれません。 Android 4.0 SDKリリースノート )の「システムUIの可視性のコントロール」セクションをお読みください。

5
CommonsWare

Android 4.0では100%真のフルスクリーンを取得することはできません。

以下を使用して、通知バー(別名ステータスバー、システムバー)を暗くします。

 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);

そしてこれを使ってそれを隠す

 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

そして、私が正しく推測するならば、あなたは「キオスクモード」を達成しようとしています。あなたは「surelock」という名前のアプリで少し助けを得ることができます。これにより、すべての「ホーム」および「バック」アクションがブロックされます。

それはまだ完璧ではありませんが、これはAndroid ICSで達成できる最善の方法かもしれません。

11
BladeLeaf

ルート権限を取得されたAndroidデバイスでステータスバーを非表示にすることができます。プログラム Hidebar はsystemuiプロセスを強制終了します。プログラムはオープンソースなので、読むことができます。 ソースコード ですべてについて。

http://ppareit.github.com/HideBar/ を参照してください。

7
ppareit

私の答えが少し遅れることは知っていますが、さまざまな場所から情報を集めた後、私はこれを思いつきました。これはルート化されたデバイスでのみ機能します:

    private void    KillStatusBar()
{
    Process proc = null;

    String ProcID = "79"; //HONEYCOMB AND OLDER

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
        ProcID = "42"; //ICS AND NEWER
    }

    try {
        proc = Runtime
                .getRuntime()
                .exec(new String[] { "su", "-c",
                        "service call activity "+ProcID+" s16 com.Android.systemui" });
    } catch (IOException e) {
        Log.w(TAG,"Failed to kill task bar (1).");
        e.printStackTrace();
    }
    try {
        proc.waitFor();
    } catch (InterruptedException e) {
        Log.w(TAG,"Failed to kill task bar (2).");
        e.printStackTrace();
    }

}

これにより、ルート化されたデバイスの下部のバーが削除され、「kiosk」モードになります。

4
Wildcopper

Android 4.0でステータスバーとナビゲーションバーを非表示にするには、以下のコードを使用する必要があります。

LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
layout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
1
sukumar

Ppareitの答えに基づいて構築します。

ほとんどのストックデバイスでは、ナビゲーションバーを非表示にすることはできません。ただし、デバイスをルート化することがオプションである場合は、回避策があります。 1つのソリューションの手順は次のとおりです。

  1. ルートデバイス

  2. Busyboxをインストールして実行します(ルート化されたデバイスを最大限に活用するために必要)

  3. リソースからHideBarをインストール

HideBarには、「キオスク」モードで実行するオプションがあります。このモードでは、ナビゲーションバーを再表示する方法はありません。言うまでもなく、あなたは本当にこれに注意する必要があります。

1
ılǝ