如何保持当前活动在后台运行并返回android中的上一个活动

时间:2015-05-29 03:30:49

标签: android

我有MainActivity和CurrencyActivity。 在MainActivity,我称之为CurrencyActivity:

item.validation = validation.on(item);

所以,我想要的是当我留在CurrencyActivity时,如果用户按下后退按钮,CurrencyActivity将在后台运行并返回MainActivity。 当用户按下后退按钮时,我尝试使用这个:

  public void onClick(View arg0) {
                        Intent intent = new Intent(NewMainActivity.this, CurrencyActivity.class);
                        //intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
                        startActivity(intent);
                    }

但它不会返回MainActivity。

3 个答案:

答案 0 :(得分:1)

在背压功能中使用这样的代码...不要调用finish()

@Override
public void onBackPressed() {
   Intent intent = new Intent(CurrencyActivity.this, NewMainActivity.class);             
   startActivity(intent);
}

答案 1 :(得分:0)

您可以使用:for API level 5

来处理此问题
@Override
public void onBackPressed() {
    // your code.
}

对于旧版本,然后API 5使用此:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // your code
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

答案 2 :(得分:0)

活动不能也不应该在后台运行。对于Android中的后台操作,您应该使用Service

有一篇关于Android processes and services的文章。

服务没有UI,它应该在后台完成所有工作。活动可以向用户显示当前应用程序状态,由服务更改/修改。当服务完成他的工作时,它可以发送通知,例如。有关详细信息,请参阅this指南。