从新意图启动活动时 setResult 不起作用



以新意图启动的活动的设置结果不起的作用

我试图搜索这个问题,但只找到了与无关的问题和讨论

第一个活动:活动A:->午餐模式->singleTop

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

第二个活动:活动B:

startActivity(....ActivityC)

活动C:

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

活动B:

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

活动A:

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

activity C,您可以通过只调用finish()而不创建新的intent来返回到上一个活动(ActivityB(。如下所示。

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
}
}
}

最新更新