2011-08-18 46 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(); 
    } 
}