2011-08-02 27 views
0

私は.APKファイルをダウンロードするアクティビティを持っているAndroidプロジェクトを持っています。ダウンロードが完了したら、それをインストールする別のアクティビティを起動する必要があります。別のアクティビティが完了した後にアクティビティを呼び出すにはどうすればいいですか?

ダウンロードアクティビティが完了した後でのみ、インストールアクティビティを起動できますか?

答えて

2

あなたはおそらく、直接あなたの質問に答えるために、ダウンロードするためのAsyncTaskを使用することで、あなたは親アクティビティを使用するダウンロード、およびMByDが正しいで、おそらくですがonPostExecute()

1

で新しいアクティビティを発射する使用AsyncTaskstartActivityForResultでダウンロード活動を呼び出してから、onActivityResultを設定して、ある値(たとえば、public final static int ON_DOWNLOAD_COMPLETE = 1)で戻ったときに次のアクティビティを開始します。

+0

これは最も簡単な解決策のようですが、onActivityResultが呼び出される前にファイルがダウンロードされたことを検出できないようです。 –

+0

それはできません。あなたの子供の活動はダウンロードを開始し、終了する前に完了するのを待ちます。終了すると、親アクティビティに通知されます。基本的に、ダウンロードが完了したことを警告します。 onActivityResultが呼び出されると、ダウンロードが完了したことがわかります。 シンプルさとパフォーマンス/ユーザビリティの両面で、AsyncTaskは実際にはより良いアプローチです。 – Andrew

関連する問題