Activity 上相同 activity 的多个请求代码 For Result

Multiple Request Code for the same activity on Activity For Result

是否可以让多个请求代码都以相同的开头 activity?如果是这样,如何return 具有正确调用请求代码的结果?

 setResult(RESULT_OK, intent) ;

根据我的理解确实传递了请求代码,但是 onActivityResult 如何知道哪个键启动了意图? 喜欢

if(int j ==0 ){
   startActivityResult(intent,0);
 } else if(j ==1 ){
   startActivityResult(intent,1);
 } else if(j ==3 ){
   startActivityResult(intent,3);
 }

是的,这非常好。 onActivityResult 接收请求代码作为其第一个参数,因此您可以在那里查看。您应该为您的请求代码创建常量,并在您的代码中引用这些常量,而不是像您发布的示例那样的硬编码值。

private static final int REQUEST_SOMETHING = 1;
private static final int REQUEST_SOMETHING_ELSE = 2; // etc

if (j == REQUEST_SOMETHING) {
    startActivityForResult(intent, REQUEST_SOMETHING);
else if (j == REQUEST_SOMETHING_ELSE) {
    startActivityForResult(intent, REQUEST_SOMETHING_ELSE);
} // etc

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
    switch(requestCode) {
        case REQUEST_SOMETHING:
            // do something
            break;
        case REQUEST_SOMETHING_ELSE:
            // do something else
            break;
        // etc.
    }
}