我正在尝试启动一个活动,并同时正确地维护后退堆栈,以允许用户使用后退按钮。为此,我遵循 Google 的 说明,但一无所获。当我点击我的按钮时,除了日志输出外,什么也没有发生。我需要做什么来启动下一个活动?
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下面的建议,但我仍然感到困惑。为了在TaskStackBuilder行的末尾添加
startActivities()
,我必须删除对PendingIntent的任何赋值。这可能没问题。然而,在下一个活动开始后,如果我按返回按钮,就只会得到一个白屏。TaskStackBuilder.create(ProfileSelectActivity.this)
.addNextIntentWithParentStack(intent)
.startActivities();
我还注意到,当通过返回按钮返回时,父活动中的
onResume
方法没有被调用,所以这可能只是恢复状态的问题?