2012-04-09 2 views
1

私はWebからコンテンツをダウンロードするアン​​ドロイド活動をしています。アクティビティにはプログレスバーとダウンロードに関するいくつかの兆候があります。ユーザーは、メインのアクティビティアプリに戻ることができます。ダウンロード活動を表示するボタンを作成するにはどうすればよいですか?バックグラウンドで実行されていることを示す

コード:

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

が再び活動を開始し、それは私が欲しいものではありません。

答えて

2

AndroidManifest.xmlには、launchMode="singleInstance"の値を含むようにダウンロードアクティビティを変更してください。例:

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

これは、DownloadActivityのインスタンスを1つだけ作成します。このアクティビティを示す後続のリクエストは、同じインスタンスを取得します。

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

このコードでは、Class2.classが最初から起動し、Class2が実行されていますので、表示するだけです。 – DanM

0

デザイン的には、別のスレッドを実行しているサービスでダウンロードできます。ダイアログが消えてもサービスは終了しません。 AsyncTask使用例にはいくつかのコードがあります。

+0

ダウンロードアクティビティはAsyncTaskスレッドを使用します。サービスは終了せず、Lo​​gCutで引き続き動作することがわかりますが、私の問題は終了後に再びそのクラスを表示することです。 – DanM

+0

デザインを維持したい場合は、呼び出しアクティビティでAsyncTaskへの参照を維持する必要があります。このオブジェクトを起動時のアクティビティに渡します。アクティビティはAsyncTaskの呼び出しメソッドを介して進捗データにアクセスできます。 –

関連する問題