0

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

在 B 上,我有一个“查看列表”按钮,它将始终将用户带到列表中。问题是,我可以通过通知到达 B,而不一定是从 A。

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

我如何可靠地判断我是来自 A 还是来自通知,以便我可以采取正确的行动。

除此之外,这是我应该担心的事情吗?还是每次都开始一项活动就可以了。在我一遍又一遍地在 A -> B -> A -> B -> A -> B 之间弹跳的情况下......从来没有一次调用完成()......这会减慢速度吗?

谢谢,

杰拉德。

4

2 回答 2

5

当您以一个意图启动 Activity B 时,添加一个额外的,然后在 Activity B 中检查额外的状态。这是一个使用字符串的示例,尽管您可以使用其他变量类型,如布尔值或 int:

Intent i = new Intent(this, ActivityB.class)
i.putExtra("startedBy", "ActivityA"); 

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

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

if (extras != null) {
    startedBy = extras.getString("startedBy");
}
于 2011-10-13T18:13:10.403 回答
1

当您从 A -> B 开始时,您可以添加一个意图额外标志,例如一个布尔标志。在活动 B 上,如果它不带有额外的意图,您可以将标志默认为 false。

于 2011-10-13T18:03:50.303 回答