在我的应用程序中,我具有MainActivity,并假设另一个CustomActivity。通常我的应用以mainActivity开始,没关系。
但是我正在发送Firebase通知,我想要的是在单击通知后打开CustomActivity。
我认为我已经解决了这个问题,因为它可行:
if (getIntent().getExtras() != null) {
startActivity(new Intent(getApplicationContext() , CustomActivity.class));
finish();
}
因此,当点击通知时,它将启动CustomActivity。
但是,在我的CustomActivity中,我的顶部有一个后退箭头,这当然是行不通的,因为CustomActivity是我的开始活动,并且应用程序不知道返回的位置...
请问该怎么办?如果他单击后退箭头,我想将用户带回MainActivity。
如果在运行应用程序时轻按了通知,则箭头将起作用,因为MainActivity生命周期仍处于打开状态,但是在关闭应用程序并首先启动customActivity时,该箭头将不起作用。
答案 0 :(得分:2)
您可以在清单中使用ParentActivity标签,如下所示-
<activity
android:name=".CustomActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName=".MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
答案 1 :(得分:2)
如果您是通过从MainActivity发布的代码重定向到CustomActivity的,则可以简单地不要finish()
使其进入CustomActivity下的活动堆栈,并且后退箭头确实可以正常工作。