正しく機能する前に Web から情報を取得するアプリケーションを作成しています。そのため、起動時に読み込み画面を表示する InitialActivity を作成しました。この初期画面のボタンを使用すると、待機中に InfoActivity に移動できます。InfoActivity の実行中に読み込みが完了すると、この InfoActivity が停止し、InitialActivity に続く MainActivity が開始されます。
InitialActivity には、InfoActivity を開始するメソッドが含まれています。Web ページからの読み込みは、内部クラスで定義された AsyncTask を使用して実行されます。ロードが成功すると、onPostExecute() メソッドがメイン アクティビティを開始します。
public class InitialActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_initial);
new RequestTask().execute(getString(R.string.website));
}
public void startInfoActivity(View v){
Intent i = new Intent(this, InfoActivity.class);
startActivity(i);
}
private class RequestTask extends AsyncTask<String, Void, Boolean>{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Boolean doInBackground(String... uri){
//DO THE INFORMATION FETCHIN
}
@Override
protected void onPostExecute(Boolean passed) {
super.onPostExecute(passed);
if(passed){
//SAVE THE FETCHED INFORMATION
//close this activity and lauch main activity
Intent i = new Intent(InitialActivity.this, MainActivity.class);
startActivity(i);
// close this activity
finish();
}
}
AsyncTask の読み込みが完了したときに InfoActivity の自動シャットダウンをブロックする方法はありますか? ユーザーが InfoActivity を終了することを選択すると、MainActivity が表示されます。
前もって感謝します。