2012-04-09 93 views
1

我有一個從網上下載內容的android活動。該活動有進度條和一些關於下載的指示。用戶可以按回去並進入主要活動應用程序。我怎樣才能讓按鈕,將顯示下載活動?顯示在後臺運行的活動

代碼:

Intent i = new Intent("com.myapp.DOWNLOAD"); 
startActivity(i); 

再次開始活動,這是不是我想要的。

回答

2

在您的AndroidManifest.xml中,修改您的下載活動以包含launchMode="singleInstance"值。例如:

<activity 
    android:name=".DownloadActivity" 
    android:launchMode="singleInstance" /> 

這將僅創建DownloadActivity的一個實例。任何後續顯示此活動的請求都會拉同一個實例。

0
Intent intent = new Intent(Class1.this, Class2.class); 
startActivity(intent); 
+0

此代碼將從頭開始Class2.class,Class2正在運行,我希望只顯示它。 – DanM 2012-04-09 08:04:57

0

設計明智,下載可以通過運行單獨線程的服務來完成。當對話消失時,服務不會終止。 AsyncTask使用示例有一些代碼。

+0

下載活動確實使用AsyncTask線程。該服務沒有終止,我可以在LogCut中看到它繼續工作,但我的問題是退出後再次顯示該類。 – DanM 2012-04-09 08:01:27

+0

如果您想保留設計,您需要在調用活動中維護對AsyncTask的引用。將此對象傳遞給啓動它的活動。活動可以通過AsyncTask上的調用方法來訪問進度數據。 – 2012-04-09 08:14:33