1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. renegade2k, 13.07.2012 #1
    renegade2k

    renegade2k Threadstarter Android-Hilfe.de Mitglied

    Ich habe eine "Main"-Activity, die beim starten der App geladen wird. Diese lädt "onCreate" ein Service (TrackService), welcher ein paar Berechnungen anstellt, während die App ausgeführt wird. In dieser Zeit kann man die Main-Acitivity per Home-Button auch in den Hintergrund stellen.

    An einem Bestimmten Punkt führt der Service die Methode "NoteBar" aus, welche den Benutzer über eine Notification über den Status der Berechnung informiert.

    Nun soll der Benutzer, wie gewohnt, die App. bzw. die Main-Activity per klick auf die Notification in den Vordergrund holen können.
    Bei mir passiert es jedoch, dass die Notification eine neue Main-Activity erstellt, was zur folge hat, dass die Variablen mit den initialen Werten belegt werden, anstatt die bereits vorgenommenen Werte wieder aufzugreifen.
    Beende ich nun die "neue" Main-Activity über den Back-Button, sehe ich sofort meine "alte" Main-Activity.

    Eventuell sieht ja jemand ein Fehler in meinem Code und kann mir ein Tipp geben, was ich falsch mache ...

    Die Methode befindet sich in der Service-Klasse.
    Code:
    public void noteBar(){
            notif = Context.NOTIFICATION_SERVICE;
            mNotificationManager = (NotificationManager) getSystemService(notif);
            int icon = R.drawable.ic_launcher;
            long when = System.currentTimeMillis();
            notification = new Notification(icon, contentText, when);
            contentTitle = "Achtung";
            notificationIntent = new Intent(this, Main.class);
            notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE | Notification.FLAG_AUTO_CANCEL;
            contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
            notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
            mNotificationManager.notify(1, notification);
        }
    Zuvor wird "context" mit "getApplicationContext();" in der "onCreate" des Services initialisiert, sowie die ganzen Variablen mit "null" bzw bereits vordefinierten Werten, die vermutlich bei der Lösung des Problems keine Bedeutung haben
     
  2. strider, 14.07.2012 #2
    strider

    strider Erfahrener Benutzer

    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    Sollte den gewünschten Effekt herbeiführen.
     
    renegade2k gefällt das.
  3. renegade2k, 14.07.2012 #3
    renegade2k

    renegade2k Threadstarter Android-Hilfe.de Mitglied

    Ein Bekannter meinte noch, ich solle zusätzlich den Flag "FLAG_ACTIVITY_CLEAR_TOP" setzen.
    Wenn ich das aber so richtig lese, hat das zur Folge, dass alles, was nach der Main-Activity gestartet wurde geschlossen wird? Oder verstehe ich das falsch?
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Integer-Wert übertragen auf zweite Activity Android App Entwicklung Gestern um 15:59 Uhr
[OFFEN] Sind Notifications in einer Webview App möglich? Android App Entwicklung 10.09.2017
[ERLEDIGT] Bitmap von Activity an Activity übergben Android App Entwicklung 03.09.2017
[OFFEN] Activity als Dialog - RecyclerView funktioniert nicht mehr Android App Entwicklung 14.08.2017
[ERLEDIGT] Wie erstelle ich einen Ripple Effekt ohne hintergrund Farbe? Android App Entwicklung 18.07.2017
[ERLEDIGT] Notification sendet eher zufällig als festgelegt Android App Entwicklung 19.06.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
[GELÖST] Übergabe an zweite Activity Android App Entwicklung 11.05.2017
[OFFEN] Wie kann ich den Hintergrund abhängig vom Vordergrund Bild dynamisch veränderbar machen? Android App Entwicklung 24.03.2017
Du betrachtest das Thema "Notification soll im Hintergrund laufende Activity wieder holen" im Forum "Android App Entwicklung",