Beenden im Menu

  • 12 Antworten
  • Letztes Antwortdatum
Psyco

Psyco

Erfahrenes Mitglied
19
Hi,

ich bin ein totaler Newbie in Sachen App-Entwicklung.

Ich habe ne Webview App gebastelt. wenn ich dort auf den Menü-Button klicke dann kommt "Settings", das aber ohne Funktion ist.

Ich möchte dort aber einen Exit-Eintrag, der die App komplett schließt, also den ganzen Prozess, da in der App ein Stream läuft, der dann auch beendet werden soll.

Wie mach ich das, wie gesagt, ich habe da überhaupt keinen Plan von.


Mfg Psyco
 
System.exit(0) wäre eine rabiate Lösung... :D

Gesendet von meinem GT-I8150 mit der Android-Hilfe.de App
 
Wie Linux4ever schon sagt is System.exit(0); die etwas rabiate Lösung. Du kannst die Activity aber auch per this.finish(); beenden.
 
Danke...

und wo schreibe ich das rein?
 
Die Frage ist übrigens wie du den Stream abspielst.
Ich bin mir gerade nicht sicher ob es reicht die Activity zu beenden, wenn der Stream beispielsweise in einem ganz eigenen Thread läuft wie der nicht mitgeschlossen.

Und überhaupt braucht man im normalfall eine App nicht beenden.
Es reicht normalerweise aus in der OnPause oder onStop Methode den Stream zu beenden. Und weitere nicht dauerhaft benötigte Resourcen wieder freizugeben.
 
Es is ja ne webview app... der stream läuft über einen html5 player. Also mit <audio>. Diesen kann man leider nicht stoppen sondern nur pausieren. Der player läuft auch weiter wenn ich aus der app geh. Das soll auch so sein. Erst wenn ich den prozess stoppe beendet auch der player. Also... wenn ich ihn nur paussiere dann lädt er ständig daten... und der streamcounter hat immer diesen Zuhörer. Das soll so nicht sein. Also einfachste Lösung. Einen Menü eintrag zum beenden des prozesses...
 
Also, jetzt hab ich das so geschrieben, aber es funktioniert nich, wenn ich auf beenden klicke, passiert einfach nix.

@Override
public boolean onOptionsItemSelected(MenuItem item) {

if (item.toString().equals("close")){
System.exit(0);

}

return true;

}


was is falsch?
 
was steht denn auf dem Button?
"Beenden" oder "close" oder vllt sogar "Close"

Und bist du sicher, das item.toString überhaupt einen text zurück gibt?
Also natürlich gibt das einen String zurück, aber ich weiß nicht ob das den String zurück gibt der drauf steht.
 
also die ID ist close, der Titel ist Beenden
 
probiers mal mit
if (item.getItemId() == R.id.close)
 
Also ich hab mal in den SourceCode vom MenuItemImpl geschaut.
die toString Methode gibt den title zurück

Also müsste da "Beenden" drin stehen.
Du kannst mit item.getItemId() die id als int holen.


EDIT:
kosmus war schneller.. und kürzer ;)
Aber das könnte man ohne probleme im Debugger sehen was die Methode zurück gibt.
 
Das item ist ein Objekt. Dieses kannst du nicht ohne weiteres als string ausgeben. Mit item.getId() erhälst Du einen int den Du mit R.id.close vergleichen kannst.

Gesendet von meinem GT-I8150 mit der Android-Hilfe.de App
 
Hat geklappt. Danke
 
Zurück
Oben Unten