【发布时间】:2017-06-22 16:00:16
【问题描述】:
我的问题是这样的:当我按下收到的通知时,一些活动是打开的,比如说活动编号 3。但是当我按下后退按钮时,我通过 android 导航到菜单。我想要做的是保持用户正确的导航体验,当我按下后退按钮时,它会将我带到活动编号 2,当我按下后退按钮时,它会带我到活动编号 1,依此类推。
我遇到的另一个问题是,当我打开 2 号活动时,我需要在意图中设置一些额外的数据,但我不知道如何设置。
我的问题总结:保留用户的正确导航并为将通过单击后退按钮打开的活动设置一些额外内容。
这是我的通知代码:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("New Question")
.setContentText("" + CurrentQuestion.getAuthor().getUserName() + ": " + CurrentQuestion.getQuestion() + "");
Intent openHomePageActivity = new Intent("com.example.ihelp.HOMEPAGEACTIVITY");
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addNextIntent(openHomePageActivity);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
谢谢!
【问题讨论】:
-
覆盖 onBackPressed() 方法并添加将导航到所需活动的代码
-
但这不会有问题吗?因为当我按下后退按钮时,它将转到最后一个已停止的活动。但是,如果我按下后退按钮并覆盖 onBackPressed() 它将为我打开一个新活动,而不是恢复上一个已停止的活动。这不是我希望每次按下后退按钮时都会发生的事情..
-
我会尝试下一个选项:通过按下通知,您将打开活动编号 1,然后立即转到编号 2,然后立即转到编号 3。然后单击“返回”按钮活动编号 3,他将返回活动编号 2。您唯一需要注意的是,在这种情况下,不会为活动编号 1 和 2 创建所有 UI 内容。我很确定,用户赢了由于速度的原因,他不觉得他只是在开场 3 之前参加了活动 1 和 2。
-
谢谢,你不觉得这样做很糟糕吗?如果没有,我会去的!
标签: android eclipse notifications