认识到Intent的发送地点

Łuk*_*ski 1 android android-intent

我使用条形码扫描仪扫描一些代码.为此,我在条形码扫描仪中调用了扫描操作的意图.

问题是我想在我的主要活动中从2种不同的方法发送它以用于不同的目的(不同的代码类型扫描).由于我只有一个答案,onActivityResult()我如何区分Intent呼叫的开始位置?

我可以使用一些旗帜或标签或任何东西吗?

giZ*_*Zm0 5

您可以requestCode在开始活动时提供.这将在覆盖时提供回来onActivityResult.通过这种方式,您可以区分这些请求.

private static final int METHOD_1_ID = 1;
private static final int METHOD_2_ID = 2;

private void sendIntentFromMethod2(){
    startActivityForResult(yourIntent, METHOD_2_ID);
}

private void sendIntentFromMethod1(){
    startActivityForResult(yourIntent, METHOD_1_ID);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
   if (requestCode == METHOD_1_ID){
        // ...
   }else if(requestCode == METHOD_2_ID){
        // ... 
   }
}
Run Code Online (Sandbox Code Playgroud)