我有一个有很多活动的应用。在“设置”页面中有一个删除帐户按钮,该按钮可以重置所有已保存的变量并退出应用程序。我还没有找到退出应用程序的简单解决方案(例如,调用完成只会破坏当前活动)我按下按钮关闭应用程序的时间是什么(例如,当我重新打开应用程序时,它应该从第一个活动开始)
答案 0 :(得分:3)
最简单的方法是在侦听特定Intent的所有BroadcastReceiver
类中注册Activity
。当你想要关闭所有内容时,只需触发匹配的Intent,并在每个Activity调用中的BroadcastReceiver中调用finish
。
答案 1 :(得分:1)
尝试System.exit(0)
,虽然您在技术上假设在所有活动中使用finish()
。这样做但很快。
答案 2 :(得分:0)
使用此:
Process.killProcess(Process.myPid());
或者还有另一种更安全的方法。只需将所有活动子类化,从一个父活动中保留所有活动活动的列表,然后在必要时使用exit()将它们全部关闭:
public class ControlActivity extends Activity
{
private static ArrayList<Activity> activities=new ArrayList<Activity>();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
activities.add(this);
}
@Override
public void onDestroy()
{
super.onDestroy();
activities.remove(this);
if(activities.size()==0) //last activity
//release resources and so on
}
//close all activities, when necessary
public static void exit()
{
for(Activity activity:activities)
activity.finish();
}
}