2014-09-02 78 views
2

在我的Android应用程序,每当我需要从同一个活动叫许多不同ActivitiesForResult,我做这样的斑马线意图请求代码从我认识他们是这样的:(识别我的意图)

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
     case 1: { 
       // some code 
     } case 2: { 
       // some code 
     } 
    } 

我试图从同一活动调用两次斑马线条形码扫描仪,我不知道如何设置一个请求的代码与它。

IntentIntegrator intentintegrator= new IntentIntegrator(this); 
    IntentIntegrator.initiateScan(ZxingIntent.QR_CODE_TYPES); 

有没有人知道如何做到这一点?我需要修改IntentIntegrator代码吗?

回答

1

我看到2个解决方案。一个会创建一个新的活动,只是调用IntentIntegrator并将requestCode放到这个新的活动中。

第二种选择是修改IntentIntegrator - 这就是我所做的。

我删除了最后的属性,

// public static final int REQUEST_CODE = 0x0000c0de; 
public static int REQUEST_CODE = 0x0000c0de; 

添加了功能设置请求代码:

public void setRequestCode(int requestCode) { 
    REQUEST_CODE = requestCode; 
    } 

和我打电话的条码扫描仪这样的:

int requestCode = 2; 
    IntentIntegrator intentintegrator= new IntentIntegrator (this); 
    intentintegrator.setRequestCode(requestCode); 
    intentintegrator.initiateScan(ZxingIntent.QR_CODE_TYPES); 

我不知道RequestCode 0x0000c0de是什么,为什么它是最终的,但应用程序似乎工作。

+1

你是如何删除行格式只读文件的?我愿意做同样的事情,帮助我 – 2017-11-09 05:40:22