我目前正在编写一个android应用程序,现在是时候实施通知了。我将在这里看到的三个活动是MainActivity,MessageListActivity和MessageActivity。带有通知的活动导航
这些都采用简单的A> B> C格式。 B的父母设置为A,C的父母设置为B.正常的导航工作正常,并按预期做一切事情。这里是下面的清单:
<activity
android:name=".activities.MainActivity"
android:label="@string/app_name"
android:launchMode="singleTop"
android:screenOrientation="portrait" >
</activity>
<activity
android:name=".activities.MessageListActivity"
android:icon="@drawable/ic_action_email"
android:label="@string/title_activity_text"
android:launchMode="singleTop"
android:parentActivityName=".activities.MainActivity"
android:screenOrientation="portrait" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activities.MainActivity" />
</activity>
<activity
android:name=".activities.MessageActivity"
android:icon="@drawable/ic_action_read"
android:label="@string/title_activity_text_message"
android:parentActivityName=".activities.MessageListActivity"
android:screenOrientation="portrait" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activities.MessageListActivity" />
</activity>
的问题是我现在想要实现的通知,如果我出它作为服务运行,所以我仍然可以接收邮件的应用程式。当收到一条新消息时,弹出窗口会显示出来,我想点击它,显示MessageActivity(C),然后当向上或向后按下时返回MessageListActivity(B)。但是,我打开通知并按预期显示了MessageActivity(C),但是当我向上或向后按下时,它将我带到MainActivity(A)。它应该在这一点返回到MessageListActivity(B)!
澄清: -
- 通知出现
- 用户点击它
- 开出信用证
- 用户按下回或向上
- B应该在现在开放的,但A打开来代替。
我在通知中创建一个堆栈中,如下图所示:
Intent resultIntent = new Intent(NurseCallApplication.getContext(), MessageActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(NurseCallApplication.getContext());
stackBuilder.addParentStack(MessageActivity.class);
stackBuilder.addNextIntent(resultIntent);
resultIntent.putExtra("messageObject", message);
PendingIntent resultPendingIntent = PendingIntent.getActivity(NurseCallApplication.getContext(), 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
而且在我MessageActivity(C)并后退按钮我有:
NavUtils.navigateUpFromSameTask(this);
在这点我真的只是把各种各样的想法弄清楚,所以如果有不必要的部分,请原谅我!任何帮助将大规模赞赏!谢谢!