解除通知后打开应用程序主页

时间:2015-07-16 19:54:49

标签: android android-notifications

按下后退按钮后,打开通知后,用户将返回主屏幕,而不是返回应用程序的主页面。 (使用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>

1 个答案:

答案 0 :(得分:3)

你可以做的最简单的事情是从你的通知中传递bool变量,例如**(_ Is_Coming_From_notification)**,并在你的ListViewItemDetailActivity活动中获取该变量,并根据该变量,如果用户返回打开您的应用主页。 下面是一些供您参考的代码。

git fetch; git rebase

在你的活动中得到它。

git pull --rebase

和你的BackPressed方法

resultIntent.putExtra("is_Comming_Form_Notification", true);