0

我的应用程序有一个问题,当我单击后退按钮时,我的应用程序正在完成。我需要阻止它。我怎么能做到。

@Override
public void onBackPressed() {
   Log.d("CDA", "onBackPressed Called");
   Intent setIntent = new Intent(Intent.ACTION_MAIN);

   startActivity(setIntent);
} 

我已经尝试过这样的事情。但它不起作用。实际上我需要的是当我单击后退按钮时,应用程序不应该完成它应该在后台运行。任何人都可以帮助我。@谢谢

4

2 回答 2

2

尝试这样做:

@Override
public void onBackPressed() {
    Log.d("CDA", "onBackPressed Called");
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);

    startActivity(intent);
}

通过这样做,您的活动将不会被破坏(即onDestroy不会被提升)。但是,也不能保证 Android 会长期保留您的活动。

如果您正在运行一个即使在后台也想继续运行的进程,那么我建议您使用Serviceor IntentService

于 2013-05-13T07:32:33.147 回答
2

“它应该在后台运行”是什么意思?你为什么要那个?如果用户想保持应用程序打开,他可以使用主页按钮并且应用程序不会关闭,如果他按下后退按钮他想关闭应用程序。如果想要在用户关闭应用程序后仍然运行的东西,你应该看看 Service http://developer.android.com/reference/android/app/Service.html,即使在用户关闭应用

于 2013-05-13T07:34:39.263 回答