2012-07-06 58 views
1

我派了任務(活動)與備份:把任務前面小窗口點擊

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    moveTaskToBack(true); 
} 

但我需要通過setOnClickPendingIntent在小部件把它前面。

回答

2

剛開始的主(根)應用程序的這樣的活動:

Intent intent = new Intent(context, MainActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(intent); 

如果該活動已在任務中運行,這將只是把這個任務給前臺(不創建任何新的實例的活動)。如果該活動尚未運行,那麼這將啓動一個新的任務,並在該根目錄下執行該活動。

+0

我也通過在清單中添加(android:launchMode =「singleInstance」)來執行它。 – 2012-07-07 21:40:52

+1

單個實例通常是一個壞主意。這僅適用於家庭屏幕替換。你可能不需要那個。如果它已經作爲現有任務的根目錄運行,則Android不會創建另一個活動實例。除非您正在開發HOME屏幕,否則使用singleInstance可能會帶來更多麻煩而不是益處。 – 2012-07-08 09:17:58

+0

非常感謝 – 2012-07-09 20:31:17

1

在我的情況下,FLAG_ACTIVITY_NEW_TASK沒用。它會重新創建活動,但活動存在於任務中。

但singletask launchmode運作良好。

相關問題