我已经阅读了很多关闭应用程序的方法,所以我想知道这种方式是否正确或存在缺陷
main_activity.java
public boolean onOptionsItemSelected(MenuItem item) {
.....
.....
else if (id == R.id.exit) {
onDestroy();
}
}
@Override
protected void onDestroy() {
System.exit(0);
super.onDestroy();
finish();
}
这在概念上是否正确?
答案 0 :(得分:1)
要关闭您的应用,这段代码将帮助您完成工作。
android.os.Process.killProcess(android.os.Process.myPid());
Android How to programmatically close an app..
但是你可能想知道我从未在任何地方看到这种方法。即使来自认证开发人员的应用程序也不会尝试关闭并从流程中删除自己。您真正可以做的和首选的是完成所有正在运行的活动和服务,从而允许用户自己杀死最近的应用程序中的应用程序(任何应用程序的默认行为)。
此功能关闭所有活动,但不关闭应用程序 -
finishAffinity(); // API 16
或者你可以打电话
finish();
每次结束活动。
这些不会在我所知的情况下关闭服务,并且您必须以编程方式停止运行服务。
干杯!
答案 1 :(得分:0)
退出应用的最佳方法是使用
finishActivity();
你不想杀死整个过程,这不是好的做法。