如何在android中退出应用程序

如何在android中退出应用程序,android,Android,我正在尝试在我的家庭活动应用程序中应用退出功能。我尝试了一些方法来执行我的目标,如System.exit(0)或finish()或android.os.Process.killProcess(android.os.Process.myPid());super.ondestory()但问题是,若我从主页导航到另一个活动,而不是返回主页活动并退出应用程序,它将返回到以前导航的活动,请尝试调用finish(),如下所示。因此,它将清除活动的实例 当您从ActivityB返回HomeActivity时,

我正在尝试在我的家庭活动应用程序中应用退出功能。我尝试了一些方法来执行我的目标,如
System.exit(0)
finish()
android.os.Process.killProcess(android.os.Process.myPid());super.ondestory()但问题是,若我从主页导航到另一个活动,而不是返回主页活动并退出应用程序,它将返回到以前导航的活动,请尝试调用finish(),如下所示。因此,它将清除活动的实例

当您从ActivityB返回HomeActivity时,请尝试调用finish()


按下后退按钮*强文本*不会“关闭应用程序”它完成用户按下后退按钮时屏幕上显示的活动。

您应该使用broadcastreceiver来完成此操作。例如,当用户点击退出按钮时,您应该发送如下意图

Intent intent = new Intent();
intent.setAction(ACTION_LOGOUT);
context.sendBroadcast(intent); 
在您使用的baseActivity中(或在项目的每个活动中)使用

BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
    try {
    String action = intent.getAction();
    if (ACTION_LOGOUT.equals(action)) {
        finish();
    }
}
};
在onCreate中:

registerReceiver(mBroadcastReceiver, new IntentFilter(ACTION_LOGOUT));

尝试此操作以退出您的应用:)


请上传你的代码。这里是希望这对你有帮助的讨论。关于退出有很多问题/答案。您想做什么(确切地说)以及为什么?System.exit()只应在特定情况下使用。请不要推荐它。阅读评论中讨论的链接。我建议使用系统。退出(0),这样他在销毁应用程序后将返回到应用程序的主屏幕……否则,他将转到退出应用程序时他所在的活动。有记录的和建议的活动标志,应用于控制导航。System.exit()是错误的。
registerReceiver(mBroadcastReceiver, new IntentFilter(ACTION_LOGOUT));
 finish();
    moveTaskToBack(true);
 System.exit(0);