3

私のアプリには、AとBの2つのアクティビティがあります。Aはルート/ランチャーアクティビティであり、Bはプッシュ通知から開始されます。ユーザーが別のアプリを使用していて、自分のプッシュ通知をクリックすると、アクティビティBが開始されます。このアクティビティでfinish()を呼び出すと、通知をクリックする前に、ユーザーが元のアプリに戻ることを期待しています。代わりに、ルートアクティビティであるアクティビティAに移動します。

通知からアクティビティを開始し、アクティビティを終了して、ユーザーを以前のアプリに戻す方法はありますか?

4

2 に答える 2

1

次のコードは大丈夫です、私はそれをテストします.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>

3 番目のアプリから、次のように呼び出します。

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

あなたのプロジェクトでそれを試すことができます。

于 2012-07-25T06:29:32.370 に答える
0

通知のインテントに、アクティビティの制御フローを変更するために使用できる特定の追加機能をロードできます。これは、現在のアクティビティスタックで使用して、方向を保証することもできます。

于 2012-07-25T02:44:32.230 に答える