1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Activity wieder in den Vordergrund bringen?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Extremefall, 27.05.2012.

  1. Extremefall, 27.05.2012 #1
    Extremefall

    Extremefall Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    83
    Erhaltene Danke:
    1
    Registriert seit:
    29.03.2012
    Hallo,
    ich habe eine Activity gestartet. Nun drücke ich auf dem Galaxy S2 den Home Button, wodurch die App minimiert wird, also noch im Hintergrund läuft. Die App läuft aber noch zu 100%. Nun möchte ich die App mit der GUI wieder in den Vordergrund bringen. Meine Versuche waren schon folgende:
    Code:
    Intent intent = new Intent(getApplicationContext(), StartActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    oder
    Code:
    Intent intent = new Intent(getApplicationContext(), StartActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    Leider wird bei dem Aufruf die GUI nicht wieder in den Vordergrund gebracht. Wisst ihr, wie ich das Problem lösen kann und die App mit der GUI wieder in den Vordergrund bekomme? Der oben genannte Code wird übrigens direkt aus der Klasse, die in den Vordergrund kommen soll, aufgerufen. Also aus der Klasse StartActivity.
     
  2. v Ralle v, 28.05.2012 #2
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Ich glaube dein Vorhaben ist nicht so leicht möglich. Das was du beschreibst, klingt aber so als würdest du Code haben, der im Hintergrund läuft. Da bietet sich ein Service an. Der Nutzer sollte nach Google Vorgaben dann über eine Notification informiert werden. Das würde ich dir auch empfehlen.

    Es würde den Nutzer auch nur verwirren, wenn aus dem Nichts deine App wieder aufgeht. Das macht kein Sinn.
     
  3. Extremefall, 28.05.2012 #3
    Extremefall

    Extremefall Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    83
    Erhaltene Danke:
    1
    Registriert seit:
    29.03.2012
    Es ist wirklich so, dass der Code im Hintergrund ausgeführt wird. Nun habe ich es als Activity gestartet. Sollte man es lieber als Service machen? Was ist denn der Unterschied? Ich würde gerne die Activity ohne Notification starten.

    Die Activity ist sowieso durchsichtig und wird dann nach x Sekunden wieder geschlossen. Deswegen wird der Nutzer nicht verwirrt sein. Ist also mein Vorhaben dennoch möglich? Wenn ja, wie? Kann es schon klappen, wenn ich den Intent aus dem Service heraus aufrufe? Wie müsste den der Intent lauten, damit eine neue Activity im Vordergrund gestartet wird?
     
  4. swordi, 28.05.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    eine durchsichtige activity vergiss am besten gleich wieder

    services sind dafür gedacht.

    der nutzer ist sicher verwirrt, wenn apps in seinem app manager auftauchen, die er noch nicht gesehen ( da ja durchsichtig)
     
  5. v Ralle v, 28.05.2012 #5
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Ich empfehle dir den Service und die Notification. Da ich aber nicht genau weiß, was du vorhast, kann ich es schwer einschätzen. Du würdest dann aber Android konform arbeiten.

    Warum eine durchsichtige Activity? Was soll die bringen?
     
  6. Extremefall, 28.05.2012 #6
    Extremefall

    Extremefall Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    83
    Erhaltene Danke:
    1
    Registriert seit:
    29.03.2012
    Wie kann ich den Service denn am besten bewerkstelligen? Gibt es noch eine Möglichkeit, diesen ohne Activity zu starten? Eine Frage noch: Ich habe beim Start der Activity eine Eingabemaske (AlertDialog). Kann man so etwas denn auch bei einem Service nutzen? Und wenn ja, was ist da der Context? Bei der Activity nutze ich immer getApplicationContext().
     
  7. v Ralle v, 28.05.2012 #7
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Bitte schau dir mal die Basics zu Android an. Da wird auch genau erklärt, wie man einen Service nutzt Services | Android Developers

    Und wenn ich das schon mit getApplicationContext() lese... Das tut weh ^^ (Geheimtipp: eine Activity erbt von Context).
     
  8. Fr4gg0r, 28.05.2012 #8
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    rufst du den Code in onStop() auf?
     

Diese Seite empfehlen