可能重复:
退出应用程序 - 这是不受欢迎的吗?
我正在我的应用程序中创建一个按钮,通过单击此按钮,所有状态都将被保存,用户将退出整个应用程序。当用户重新点击应用程序时,他/她应该被带到主要活动。我曾尝试使用 finish() 和 System.exit(0) 但这两个函数都只是结束当前活动并将我带到上一个活动......我怎样才能做到这一点?谢谢。
可能重复:
退出应用程序 - 这是不受欢迎的吗?
我正在我的应用程序中创建一个按钮,通过单击此按钮,所有状态都将被保存,用户将退出整个应用程序。当用户重新点击应用程序时,他/她应该被带到主要活动。我曾尝试使用 finish() 和 System.exit(0) 但这两个函数都只是结束当前活动并将我带到上一个活动......我怎样才能做到这一点?谢谢。
找到以下关闭应用程序的代码。首先清除活动堆栈并使用标志,然后使用finish()方法。
Intent intent = new Intent(getApplicationContext(), FinishActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
startActivity(intent);
在 onCreate() 的 FinishActivity 类中,只需编写 finish() 方法
public class FinishActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
finish();
}
}
不推荐,但您仍然可以使用它。如果您需要退出应用程序,最好使用此解决方案。
根据我的说法,最好的解决方案是完成您应用中的所有活动,如下所示。
step1)在mainactivity中维护一个静态变量说。
public static isQuit = false;
step2)在按钮的单击事件中使此变量为真并完成当前活动。
mainactivity.isQuit = true;
finish();
step3)并且在您的应用程序的每个活动中都有如下的onrestart方法..
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
if(mainactivity.isQuit)
finish();
}
参考这个链接
调用Move to Back将隐藏您的应用程序。你不应该打电话System.exit(0);
依靠 Android 操作系统来决定何时需要终止应用程序总是更好。