3 Stimmen

Aktivität aus der Benachrichtigung starten und zur vorherigen Aktivität zurückkehren

In meiner Anwendung habe ich zwei Aktivitäten, A und B. A ist die Stamm-/Startaktivität, und B wird durch eine Push-Benachrichtigung gestartet. Wenn der Benutzer in einer anderen App ist und auf eine Push-Benachrichtigung für meine App klickt, wird die Aktivität B gestartet. Wenn ich finish() für diese Activity aufrufe, erwarte ich, dass der Benutzer zu der App zurückkehrt, in der er sich vor dem Anklicken der Benachrichtigung befand. Stattdessen wird er zu Activity A, der Root Activity, zurückgebracht.

Gibt es eine Möglichkeit, eine Aktivität aus einer Benachrichtigung heraus zu starten, die Aktivität dann zu beenden und den Benutzer zu der Anwendung zurückzubringen, in der er sich zuvor befand?

1voto

enjoy-writing Punkte 520

Der folgende Code ist in Ordnung, ich teste das. in AndroidManifest.xml

<activity android:name=".A" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />            
</intent-filter>         
</activity>              
<activity android:name=".B" android:screenOrientation="portrait"  android:configChanges="orientation|keyboardHidden" android:label="@string/app_name2" >
<intent-filter>          
<action android:name="android.intent.action.MAIN" />     
</intent-filter>
</activity>

von der 3. App, rufen Sie das auf:

Intent intent = new Intent();
intent.setClassName("your.app.packge", "your.app.packge.B");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);         
context.startActivity(intent);          

Sie können das in Ihrem Projekt ausprobieren.

0voto

JoxTraex Punkte 13243

Sie könnten den Intent der Benachrichtigung mit einem bestimmten Extra laden, das Sie verwenden können, um den Kontrollfluss der Aktivitäten zu ändern, dies könnte auch mit dem aktuellen Aktivitätsstapel verwendet werden, um die Richtung zu versichern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X