我尝试了 System.Exit(0),但不是我需要的;
我正在尝试安全地销毁 android 应用程序并将其从内存中清除,
我可以制作一个按钮来退出 android 应用程序并从内存中清除所有应用程序吗?
我尝试了 System.Exit(0),但不是我需要的;
我正在尝试安全地销毁 android 应用程序并将其从内存中清除,
我可以制作一个按钮来退出 android 应用程序并从内存中清除所有应用程序吗?
调用finish() 只会退出当前活动,而不是整个应用程序。但是,有一个解决方法:
每次启动 Activity 时,使用 startActivityForResult(...) 启动它。当您想关闭整个应用程序时,您可以执行以下操作:
setResult(RESULT_CLOSE_ALL);
finish();
然后定义每个活动的 onActivityResult(...) 回调,这样当活动返回 RESULT_CLOSE_ALL 值时,它也会调用 finish():
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(resultCode)
{
case RESULT_CLOSE_ALL:
setResult(RESULT_CLOSE_ALL);
finish();
}
super.onActivityResult(requestCode, resultCode, data);
}
这将导致关闭所有活动的级联效应。
调用 System.exit() 是个坏主意。你可以简单地对你需要杀死的所有活动调用finish()。这是一个很好的解决方案: https ://stackoverflow.com/a/5453228/1369222
基本思想是为应用程序的每个活动添加一个广播接收器,当触发特定的“终止活动”意图时,该接收器将自行完成。
Android 在应用程序中没有一个入口点。您应该根据指南进行设计。链接:http: //developer.android.com/design/patterns/navigation.html
我可以制作一个按钮来退出 android 应用程序并从内存中清除所有应用程序吗?
不,您应该从堆栈中删除所有活动(例如使用完成())。
不要打电话System.exit(0)
。
通过 commonsware 检查答案
您可以使用操作栏。单击应用程序图标导航到应用程序的主屏幕,然后单击主屏幕中的后退按钮以退出应用程序。
http://developer.android.com/guide/topics/ui/actionbar.html
检查下面的链接清楚地显示带有屏幕截图的导航。
http://developer.android.com/design/patterns/navigation.html
System.exit(0)
不是更好的方法。相反,调用finish()
所有活动,activity
并将从堆栈中删除。