B が再起動された後、アクティビティ A->B->A からの移動に問題があります。B の終了後にインテントが A に返される方法を混乱させることなく、アクティビティ B を再開するにはどうすればよいですか?
B は、次のコードで A から呼び出されます。
public void activityFunction(Context gameContext){
//This function was made to pass the player class back and forth between
setContentView(R.layout.loadingscreen);
Intent i = new Intent(gameContext, gamePanel.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(i,1);
}
B ゲーム アクティビティは次のコードでリセットされます。
setContentView(R.layout.loadingscreen);
Intent i = getIntent();
finish();
startActivity(i);
B が終了し、次のコードで A に戻ります。
public void levelOver(){
setContentView(R.layout.loadingscreen);
Intent resultIntent = new Intent();
resultHolder results = new resultHolder(playerStats);
resultIntent.putExtra(.......);
resultIntent.putExtra(.......);
resultIntent.putExtra(.......);
resultIntent.putExtra(.......);
setResult(Activity.RESULT_OK, resultIntent);
finish();
}
そして、ここで onActivity が A で呼び出されます
protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case (1) : {
if (resultCode == Activity.RESULT_OK) {
returnedWithResults = true;
new AsyncReturnGameData().execute(data);
}
break;
}
}
}
アクティビティ B は、再起動されない限り、100% の時間を返します。再起動すると、エラーが返されます。私を正しい方向に向ける助けがあれば、大歓迎です。ありがとう!