按下后退按钮不会破坏当前活动

时间:2012-12-19 09:29:29

标签: android android-activity

我有两个活动,A和B.我在A中有一个按钮,当按下时会启动一个新的意图B. 但是每当我在B中按下后退按钮时,再次单击该按钮就会重新启动Activity.I不想这样做,我希望它恢复活动B. 实际上我在Activity B中做了一些网络,除非用户想要刷新,否则我想保存。 我该怎么做?提前致谢

2 个答案:

答案 0 :(得分:1)

您需要覆盖

onBackPressed

方法并从那里开始这样的活动:

@Override
    public void onBackPressed() {
    Intent intent = new Intent(this, activityA.class);
    startActivityForResult(intent, PICK_CONTACT_REQ);
}

答案 1 :(得分:1)

这听起来像你需要重新思考你的架构。你说:

  

其实我在Activity B中做了一些网络,我想保存   除非用户想要刷新。

如果是这种情况,您可能不希望在ActivityB中进行联网。也许你应该从ActivityB开始Service来进行网络连接。服务和活动可以相互通信,以便活动可以使用户了解网络状态的最新信息。如果用户在ActivityB中按下BACK,它可以完成(像往常一样)并返回ActivityA。在这种情况下,服务仍在管理网络。当用户再次启动ActivityB(来自ActivityA)时,ActivityB的新实例可以与服务通信以查看是否有任何网络正在进行,如果是,它可以获取该网络的当前状态或启动它或停止它或不管。