Android 结果的“活动”上相同“活动”的多个请求代码

Android 结果的“活动”上相同“活动”的多个请求代码,android,android-intent,android-activity,Android,Android Intent,Android Activity,是否可能有多个请求代码,所有这些代码都启动相同的活动?如果是,如何使用正确的调用请求代码返回结果 setResult(RESULT_OK, intent) ; 根据我的理解,是否传递了请求代码,但onActivityResult如何知道是哪个键启动了该意图? 像 是的,这很好。接收请求代码作为其第一个参数,因此您可以在那里进行检查。您应该为请求代码创建常量,并引用代码中的常量,而不是像您发布的示例那样的硬编码值 private static final int REQUEST_SOMETHI

是否可能有多个请求代码,所有这些代码都启动相同的活动?如果是,如何使用正确的调用请求代码返回结果

 setResult(RESULT_OK, intent) ;
根据我的理解,是否传递了请求代码,但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.
    }
}

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

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

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

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

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

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