我有一个包含通知的应用程序。我想在选择通知后设置“返回”导航行为。我有两个活动:MainActivity和GoogleFormActivity。通知启动GoogleFormActivity,我希望后退按钮返回到MainActivity。我试图this无济于事。这里是我的代码:通知后的后退导航
的Manifest.xml:
<activity
android:name="com.ican.activities.MainActivity"
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="com.ican.activities.GoogleFormActivity"
android:label="@string/title_activity_google_form"
android:parentActivityName="com.ican.activities.MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.ican.activities.MainActivity" />
</activity>
下面是当选择我的通知代码:
Intent resultIntent = new Intent(this, GoogleFormActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this).
addParentStack(GoogleFormActivity.class).
addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
int mId = 1;
mNotificationManager.notify(mId, mBuilder.build());
至于我可以告诉大家,这看起来完全像Android文档。但是当GoogleFormActivity启动后,当我按回时,应用会导航到应用程序的主屏幕。我不明白发生了什么事。有任何想法吗?我不得不道歉。这个昨天没有工作的代码现在可以工作。我发誓Android Studio上有一些东西。这是第二次或第三次发生这种事情。
我想我不明白你在说什么。 “开始活动时保留导航”文章说我应该能够返回到MainActivity。 – mhlandry 2014-11-25 04:35:05
这些活动按照每个活动打开的顺序排列在一个“堆栈(后退堆栈)”中。如果用户按下“返回按钮”,则当前活动从堆栈弹出并销毁。如果堆栈包含该活动,则堆栈中的上一个活动恢复......请阅读此内容,但仍不理解让我知道。 – 2014-11-25 04:37:59
我明白你在说什么。但是当我看到“开始活动时保留导航”时,我看到:“来自Gmail应用程序的通知证明了这一点。当您单击一封电子邮件的通知时,您会看到该消息本身。 Gmail转到主屏幕,就像您从主屏幕输入Gmail一样,而不是从通知中输入Gmail。“而且,我似乎应该能够完成我想要的。 – mhlandry 2014-11-25 04:42:48