setResult не работает при запуске деятельности с нового намерения - PullRequest
0 голосов
/ 06 ноября 2019

Установка результата из действия, начатого с новым намерением, не работает

Я пытался найти проблему, но были найдены не связанные вопросы и обсуждения

первое действие:ActivityA: -> режим обеда -> singleTop

startActivityForResult(new Intent(this, ActivityB.class), 1)

secondActivity: активность B:

startActivity(....ActivityC)

активность C:

startActivity(new Intent(this, activityB).addFlages(CLEAR_TOP));

активность B:

onNewIntent(intent) {
    setResult(-100)
    finish()
} 

ActivityA:

onActivityResult(){
// always wrong result only! it doesn't return -100 always RESULT_OK
}

1 Ответ

0 голосов
/ 06 ноября 2019

С вашего activity C вы можете вернуться к предыдущей активности (ActivityB), позвонив только по номеру finish(), не создавая новый intent. как показано ниже.

В Activity C

//startActivity(new Intent(this, activityB).addFlages(CLEAR_TOP)); // comment this
// use finish()
finish();

И в вашем Activity A выполните следующее.

onActivityResult(){
  // here you can check request code 
  if(requestCode == 1 ){
     if(resultCode == -100){
       // process your data here
     }
  }
}
...