2016-05-24 1 views
0

最初のアクティビティを読み込んだ後、アプリケーションはすぐにバックグラウンドプロセスでいくつかのファイルのダウンロードを開始します(これはnew Thread()です)。Androidのバックグラウンドスレッドの完了を確認する

最初のアクティビティには、2番目のアクティビティを開くボタンもあります。第2の活動では、バックグラウンドのダウンロードが完了していることが重要です。

マイタスク:

バックグラウンドダウンロードがまだ終了していない一方で、ユーザーがボタンをクリックすると、アプリケーションが待つと第二の活動を開けてはいけません。代わりに「しばらくお待ちください」のようなメッセージを表示する必要があります。
ダウンロードが完了していない場合は、XX秒後に「OK」ボタン付きの別のメッセージが表示されます。「接続が遅すぎます。」

+0

これを行う適切な方法は、Handlerによるものです。 UIスレッドのハンドラは、別々のスレッドを介して渡されるメッセージを処理できます。スレッドを作成し、ハンドラへの参照があることを確認します。ダウンロードが終了したら、その参照を使用してハンドラにメッセージを送信します。これについての文書を参照してください。 –

答えて

0

あなたのスレッドはメインスレッドに「完了」アクションをブロードキャストし、この結果を隠しておく持って

Thread myThread; //your thread that is downloading thigns 
if(myThread.isAlive()) 
{ 
    //do what you want here 
} 
1

を使用して確認することができます。 UIスレッドで、この変数をチェックして処理を進めることができます。

0

これにはAsyncTaskを使用する必要があります。 オーバーライドメソッドの使用。

関連する問題