我正在尝试启动一项活动,同时正确维护一个后台堆栈以允许用户使用后退按钮。为此,我正在关注Google的instructions,但我无处可去。当我单击我的按钮时,没有任何反应(除了日志输出)。我需要做些什么才能使此次发布成为下一个活动?
mBtnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "click");
Intent intent = new Intent(ProfileSelectActivity.this, PermissionsRequestActivity.class);
PendingIntent pendingIntent =
TaskStackBuilder.create(ProfileSelectActivity.this)
// add all of DetailsActivity's parents to the stack,
// followed by DetailsActivity itself
.addNextIntentWithParentStack(intent)
.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(ProfileSelectActivity.this);
builder.setContentIntent(pendingIntent);
}
});
在我看来,最后有一条缺失的线。我已经尝试了startActivities();
,startActivity();
等等,但我的所有尝试都没有成功。
感谢您的帮助。
修改
尝试从njzk2实施以下建议,但我仍然感到困惑。为了将startActivities()
添加到TaskStackBuilder行的末尾,我必须删除对PendingIntent的任何赋值。这可能还可以。但是,在下一个活动开始后,如果我点击后退按钮,我只会看到一个白色屏幕。
TaskStackBuilder.create(ProfileSelectActivity.this)
.addNextIntentWithParentStack(intent)
.startActivities();
我还注意到,通过后退按钮返回时,父活动中的onResume
方法没有被调用,所以这可能只是恢复状态的问题???
答案 0 :(得分:9)
您正在做的是创建(不显示)通知。 (正如通知建设者所建议的那样。)
如文档中所示,您需要做的是致电startActivities()
:
TaskStackBuilder.create(ProfileSelectActivity.this)
.addNextIntentWithParentStack(intent)
.startActivities();