2011-11-08 97 views
0

在我的申請中,我有2項活動(A和B)和1項服務。如何完成()其他活動(如果它們是開放的)

每個活動都可以調用其他自己的整理。

Intent i = new Intent(this, ActivityB.class); 
finish(); 
startActivity(i); 

的應用程序可以創建一個狀態欄圖標,點擊狀態欄的意圖開啓的活動一個標誌使用

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

而且我有一個退出按鈕,殺死活動和服務。

我的問題,如果我有活動B打開,用戶點擊狀態欄圖標,因爲用戶現在看到活動A,但如果他點擊退出按鈕應用程序關閉活動A和服務,但顯示地下活動B.我怎樣才能解決問題收盤也活動B

編輯:

我與我設置爲false,在應用程序啓動時有一個SharedPreferences值解決,並在退出按鈕點擊正確的。在onResume()中檢查值並完成活動(如果它爲true)。

回答

0

你可以做到以下幾點:從狀態欄更改意圖

Intent i = new Intent(); 
i.setAction("com.help.KILLME"); 
context.sendBroadcast(i); 

,然後把它放進你想從狀態欄關閉活動:

private final BroadcastReceiver receiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     finish(); 
    } 
}; 


//OnCreate method 
//[...] 
IntentFilter filter = new IntentFilter(); 
    filter.addAction("com.help.KILLME"); 
    registerReceiver(receiver, filter); 

這將停止活動活動(不要忘記註銷onPause()中的接收器並在onResume()中重新註冊)

相關問題