Android后退按钮新意图或完成()

gui*_*ed1 0 android activity-stack

我有个问题.我有一个列表视图(A)和一个详细视图(B).

在B上,我有一个"视图列表"按钮,始终将用户带到列表中.问题是,我可以通过通知到达B,而不一定是来自A.

所以当点击B时,我不能只使用finish(),因为我可以从通知进来,所以在某些情况下我可能需要开始一个新的活动.

我如何可靠地判断我是从A进来还是从通知进来,这样我才能采取正确的行动.

除此之外,这是我应该担心的吗?或者只是每次都开始一项活动.如果我在A - > B - > A - > B - > A - > B之间一遍又一遍地弹跳......从来没有一次调用finish()......会减慢速度吗?

谢谢,

杰拉德.

sla*_*ton 5

当你使用intent添加额外的Activity B时,然后检查活动B中额外的状态.这是一个使用字符串的例子,尽管你可以使用其他变量类型,如boolean或int:

Intent i = new Intent(this, ActivityB.class)
i.putExtra("startedBy", "ActivityA"); 
Run Code Online (Sandbox Code Playgroud)

然后在活动B中,您可以获得额外的变量:

Bundle extras = this.getIntent().getExtras(); 
String startedBy = null;

if (extras != null) {
    startedBy = extras.getString("startedBy");
}
Run Code Online (Sandbox Code Playgroud)