Почему иногда срабатывает на тот onActivityResult?
Есть две Активити aForm1 и aForm2.
Из aForm1 вызываю aForm2, а в активити aForm2 запускаю startActivityForResult(captureIntent, RESULT_CAMERA), а результат возвращается часто в aForm1 в onActivityResult(), не в aForm2 в onActivityResult(), откуда был вызван.
captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, selectedPhotoPath);
captureIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startActivityForResult(captureIntent, RESULT_CAMERA);
В обоих формах возвращается одинаково,
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {...}
else {super.onActivityResult(requestCode, resultCode, data);}
Больше никаких флагов не использую. Какую то системность обнаружить не удается, возвращается когда как.
Еще было замечено, что когда я закрываю форму Камеры для возврата в экран aForm2 есть сообщение
W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProx
Почему так происходит? Как сделать так, чтобы результат возвращался только в то место, откуда был вызван.