从通知启动活动并返回上一个活动

时间:2012-07-25 02:39:37

标签: android android-activity

在我的应用中,我有两个Activites,A和B. A是root / launcher Activity,B是从推送通知启动的。如果用户在另一个应用程序中,并单击我的推送通知,则将启动活动B.当我在此Activity上调用finish()时,我希望在单击通知之前将用户返回到他们所在的应用程序。相反,它们被带到活动A,即根活动。

有没有办法从通知中启动活动,然后完成活动并将用户返回到之前的应用程序?

2 个答案:

答案 0 :(得分:1)

以下代码没问题,我测试了。在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);          

你可以在你的项目中尝试。

答案 1 :(得分:0)

您可以使用可用于更改活动控制流的特定额外内容加载通知的Intent,这也可以与当前活动堆栈一起使用以确保方向。