결과에 대한 하위 작업을 시작하는 활동이 있습니다. 하위 활동을 시작할 때, 그 finish()
방법에 내가 bunConnAssets
하위 작업에서 반환 된 결과 코드가 올바르지 않습니다.
다음은 의도 intConnAssets
이 번들을 추가 할 때 내가 마지막으로, 실행시에, setResult(RESULT_OK, intConnAssets);
문제가 전화를 번들로 일부 데이터를 추가 하위 작업을 닫습니다. 따라서 해당 finish()
메서드가 호출되고, mainActivity의 onActivityResult
이 호출되지만 그 안에 switch-case
이 호출되지 않습니다. 하지만
else {
Log.d(TAG, "resultCode != RESULT_OK");
}
는 resutCode가 하위 활동에서 반환 된 이유가 일어나고
확인되지 의미라고?
하위 활동 :
onActivityResult를@Override
public void finish() {
// TODO Auto-generated method stub
super.finish();
Log.w(TAG, "@finish().");
if (this.mqttSettingsDB != null) {
Log.d(TAG, "this.mqttSettingsDB is not null.");
int[] id = this.mqttSettingsDB.getIDs();
Bundle bunConnAssets = new Bundle();
Intent intConnAssets = new Intent();
....
....
....
intConnAssets.putExtras(bunConnAssets);
setResult(RESULT_OK, intConnAssets);
} else {
Log.wtf(TAG, "this.mqttSettingsDB is null.");
}
}
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG, "onActivityResult");
switch (requestCode) {
case REQUEST_CODE:
if (resultCode == RESULT_OK) {
if (data != null) {
if (data.hasExtra("bunConnAssets")) {
Log.d(TAG, "Bundle exists");
} else {
Log.d(TAG, "Bundle does not exist");
}
}
} else {
Log.d(TAG, "resultCode != RESULT_OK");
}
break;
default:
Log.e(TAG, "Unexpected RequestCode.");
break;
}
}
로 시도,'마지막 줄 수 있어야합니다. – Sufian