2011-08-18 72 views
1

应用程序我有,有很多的活动的应用程序。在“设置”页面有一个删除账户按钮,应该重置所有保存的变量并退出应用程序。我还没有找到一个简单的解决方案,以退出应用程序(例如呼叫结束只有破坏当前的活动),我怎么叫,收上的按钮按应用(例如,当我重新打开它应该从第一个活动启动应用程序)如何杀死按下按钮

回答

3

最简单的方法是在所有Activity类中注册BroadcastReceiver,该类侦听特定的意图。当你想关掉一切,然后刚刚火匹配的意图,并且在每个活动的呼叫finish的广播接收器。

1

尝试System.exit(0),虽然你在技术上想在所有的活动中使用finish()。这也是一样,但很快。

+0

正如AeroDroid提到的,这个工作所以我+1,但费米的答案似乎更强大,更好的做法 – Basic

0

使用此:

Process.killProcess(Process.myPid()); 

或者还有另一种更安全的方法。只要继承所有的活动中,来自父母一方的活动,并保持所有活着的活动列表,然后在必要时关闭它们全部采用出口():

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(); 
    } 
}