2014-09-02 35 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