按下后退按钮后,打开通知后,用户将返回主屏幕,而不是返回应用程序的主页面。 (使用Samsung S5和Android 5.0)
建立通知并显示如下:
NotificationManager mNotifyMgr =
(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Intent resultIntent = new Intent(GcmMessageHandler.this, ListViewItemDetailActivity.class);
Bundle b = new Bundle();
//... put some data
resultIntent.putExtras(b);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(GcmMessageHandler.this);
stackBuilder.addParentStack(ListViewItemDetailActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(GcmMessageHandler.this)
.setContentTitle("Notification")
.setSmallIcon(R.drawable.common_signin_btn_icon_dark)
.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setContentIntent(resultPendingIntent)
.setPriority(0)
.setContentText(title);
mNotifyMgr.notify(mNotificationId++, mBuilder.build());
同样在Manifest文件中,我已将parentActivity设置如下
<activity
android:name=".ListViewItemDetailActivity"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
答案 0 :(得分:3)
你可以做的最简单的事情是从你的通知中传递bool变量,例如**(_ Is_Coming_From_notification)**,并在你的ListViewItemDetailActivity活动中获取该变量,并根据该变量,如果用户返回打开您的应用主页。 下面是一些供您参考的代码。
git fetch; git rebase
在你的活动中得到它。
git pull --rebase
和你的BackPressed方法
resultIntent.putExtra("is_Comming_Form_Notification", true);