webentwicklung-frage-antwort-db.com.de

Statusleiste in Android Ice Cream Sandwich ausblenden

Ich arbeite in einem Launcher für Android ICS, habe jedoch ein Problem mit Tablets.

Ich kann die Statusleiste nicht ausblenden. Ich habe es in Android 2.3.X probiert und es ist in Ordnung. Das Problem tritt nur bei Android 4.0 auf.

Wie kann ich es verstecken?

13
NachoMV

Sie können die Systemleiste auf Tablets nicht entfernen. Sie können möglicherweise die Navigationsleiste und die Statusleiste auf Telefonen entfernen. Lesen Sie den Abschnitt "Steuerelemente für die Sichtbarkeit der Systemoberfläche" in die Versionshinweise zu Android 4.0 SDK .

5
CommonsWare

In Android 4.0 können Sie keinen 100% echten Vollbildmodus erhalten.

Verwenden Sie die folgenden Schritte, um die Benachrichtigungsleiste zu dimmen (auch Statusleiste, Systemleiste). 

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

Und verstecken Sie sich damit 

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

Und wenn ich richtig denke, versuchen Sie einen "Kiosk-Modus" zu erreichen. Mit einer App namens "surelock" können Sie etwas Hilfe erhalten. Dadurch werden alle Aktionen "Zuhause" und "Zurück" blockiert.

Es ist immer noch nicht perfekt, aber dies ist möglicherweise das Beste, was wir mit Android ICS erreichen können.

11
BladeLeaf

Es ist möglich, die Statusleiste auf einem gerooteten Android-Gerät auszublenden. Das Programm Hidebar tut dies, indem es den systemui-Prozess abbricht. Das Programm ist Open Source, so dass Sie alles im source code lesen können.

Siehe http://ppareit.github.com/HideBar/ .

7
ppareit

Ich weiß, dass meine Antwort etwas zu spät kommt, aber nachdem ich Informationen von verschiedenen Orten zusammengestellt hatte, kam ich zu dieser Frage, die NUR BEI ROOTED DEVICES funktioniert:

    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();
    }

}

Dadurch sollte die untere Leiste eines gerooteten Geräts entfernt und in den "Kiosk" -Modus versetzt werden.

4
Wildcopper

Um die Statusleiste und die Navigationsleiste in Android 4.0 auszublenden, sollten Sie den folgenden Code verwenden:

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

Aufbauend auf der Antwort von Parpareit. 

Sie können die Navigationsleiste auf den meisten vorhandenen Geräten nicht ausblenden. Es gibt jedoch eine Problemumgehung, wenn Sie das Gerät als Root verwenden. Hier sind die Schritte für eine Lösung:

  1. Root-Gerät

  2. Busybox installieren und ausführen (erforderlich, um das gerootete Gerät voll nutzen zu können)

  3. HideBar von der Ressource installieren

In HideBar gibt es eine Option zum Ausführen des Kiosk-Modus, bei der die Navigationsleiste nicht erneut angezeigt werden kann. Unnötig zu sagen, dass Sie wirklich vorsichtig sein müssen .

1
ılǝ