我使用条形码扫描仪扫描一些代码。为此,我将条形码扫描仪中的扫描动作称为“意图”。
问题是我想在我的主要活动中通过2种不同的方法将其发送以用于不同的目的(不同的代码类型扫描)。由于我只有一个onActivityResult()
答案,如何区分Intent调用的起始位置?
我可以使用一些标志或标签或其他东西吗?
最佳答案
您可以在开始活动时提供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){
// ...
}
}
关于android - 识别发送 Intent 的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12053678/