In der App die fehlenden Android-Buttons Back und Home anbieten

  • 3 Antworten
  • Letztes Antwortdatum
A

alfware17

Neues Mitglied
1
Hallo ich habe vor langer Zeit mal eine App entwickelt mit Android-Studio und die läuft auch auf neuerer Hardware/Handys immer noch, obwohl ich sie damals für ein Samsung S3 Mini entwickelt hatte. Das API 16 paßt mir immer noch am besten und ich bin auch beim Studio relativ konservativ (3.2.1). Ja ich weiß es gibt neueres, aber ich habe nur diese eine App und werde vielleicht auch nichts neues mehr entwickeln. Ich möchte nur, daß sie "weiterläuft" und ab und zu mal die Datenbank updaten (da sind Sprüche drin, ok das werden ab und zu mal mehr).
Was ich jetzt jedoch zB bei Xiaomi-Handys feststelle und ich glaube das bei Samsung auch schon gesehen zu haben, daß die Softkeys Quadrat, Kreis und Pfeil im Vollbildschirm einfach verschwinden und sich nicht wieder holen lassen, egal was man anstellt. Das ist für meine App doof, da ich mich beim Programmieren darauf verlassen hatte - so kann ich die App zB nicht mehr schlafen legen oder beenden.
Meine Idee wäre jetzt, ich rüste die fehlenden Buttons in meiner Menu-Struktur nach, also mindestens Back und Stop. Ist das eine gute Idee? Und wie geht das? Oder gibt es eine andere Möglichkeit, die Android-Buttons wieder sichtbar/zugreifbar zu machen? Bei anderen Apps/Spielen funktioniert oft Wischen von oben oder unten? Kann ich das in meiner App auch zulassen/einschalten? Ich muß dazusagen, daß ich Wischgesten eigentlich schon anders belegt habe (Spruch weiter/zurück oder Automatik an/aus). Von daher wären mir Menue-Punkte glaube ich am liebsten
Danke für euren gelegentlichen Tip dazu
 
@alfware17

Das API 16 paßt mir immer noch am besten und ich bin auch beim Studio relativ konservativ (3.2.1).
Das ist tödlich, du solltest immer das Neuste verwenden, auch wenn du MinSDK 16 verwenden möchtest.


Was ich jetzt jedoch zB bei Xiaomi-Handys feststelle und ich glaube das bei Samsung auch schon gesehen zu haben, daß die Softkeys Quadrat, Kreis und Pfeil im Vollbildschirm einfach verschwinden und sich nicht wieder holen lassen, egal was man anstellt
Das stimmt leider nicht, dass wird über deinen DecorView in der App gesteuert.

Beispiel
Code:
  if (SETUP.FULLSCREEN == true)
    {
      mActivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
      decorView.setSystemUiVisibility(
              View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                      | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                      | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                      | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                      | View.SYSTEM_UI_FLAG_FULLSCREEN
                      | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
        mActivity.getWindow().getAttributes().layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
    }
    else
    {
      mActivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
      //decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); // <--- nur die statusbar weg
    }

Oder gibt es eine andere Möglichkeit, die Android-Buttons wieder sichtbar/zugreifbar zu machen?
Yupp, siehe oben.

Und wie geht das?
onBackPressed überschreiben
Code:
    /////////////////////////////////////////////////////
    @Override
    public void onBackPressed()

.......... oder Keycodes verwenden oder finish() verwenden
 
Zuletzt bearbeitet:
@swa00

Danke für die schnelle Antwort! Ich werde es probieren, wenn ich wieder am Studio arbeite. Nur zum Verständnis für mich (sorry bin ziemlicher Anfänger was Android betrifft). In welches Member sollte ich dein erstes Code-Fenster schreiben? In die mActivity selbst ja wohl nicht... Habe das Programm lange nicht gesehen/angefaßt, ich hatte mich nur heute grade über mein Handy geärgert und dachte ich frage mal.

Oder soll genau das in die onBackPressed Methode? Dann hätte ich ein Verstehensproblem - die wird doch erst aufgerufen wenn man Back drückt, aber wenn ich den nicht sehe 🙃 Ich habe in meinem Programm schon eine Stelle wo ich on BackPressed modifizieren muß,
wenn ich mich recht erinnere schalte ich da einen "Taktgeber" stumm, der mir sonst weiterläuft, einen Fehler den ich jahrelang drin hatte.

Kann sollte man hier Code posten?
 
Das Fullscreen-Schnipsel kannst du in eine Funktion setzen und im OnCreate aufrufen.

Aber ich vermute, dass du das eh nicht umsetzen kannst, da du nicht die neusten Bibliotheken verwendest.
Die sind wichtig, damit du auch neuere Geräte und Android Versionen unterstützen kannst - also genau das was du bezwecken möchtest.

Du kannst auch den "backKey" Event mit einem normalen UI-Button Event auslösen , dann hast du deinen Effekt .
Von dem ich allerdings nichts halte, das ist mit Verlaub gesagt "Murks" :)

Du solltest also deine App definitiv auf die neuen Gegebenheiten anpassen , du kommst um ein Update deines Sources incl. AS nicht drumrum.

API16 - das ist schließlich 10 Jahre her ............
 
Zuletzt bearbeitet:

Ähnliche Themen

K
  • Klax124
Antworten
2
Aufrufe
256
swa00
swa00
D
Antworten
23
Aufrufe
3.557
Data2006
D
M
Antworten
3
Aufrufe
457
moin
M
Zurück
Oben Unten