2013-02-09 72 views
0

我正在開發一個應用程序,使用zxing庫閱讀QR代碼。我打電話斑馬線庫讀取QR代碼:來自handleDecode of zxing的調用意圖

public class QRScanner extends CaptureActivity { 
    TextView tv; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.qrscanner_layout); 
} 

@Override 
public void handleDecode(Result rawResult, Bitmap barcode) { 
    tv =(TextView) findViewById(R.id.textview_output); 
    tv.setText(rawResult.getText()); 
} 

現在我想從

public void handleDecode(Result rawResult, Bitmap barcode) { 
    //Want to call new activity using intent and pass result in new activity. 
} 

調用新的活動,我嘗試了代碼:

public void handleDecode(Result rawResult, Bitmap barcode) { 
    String result = rawResult.getText(); 
    Intent intent = new Intent(QRScanner.this,Activity2.class); 
    intent.putExtra("Result", result); 
    startActivity(intent); 
} 

但不管用。至於如何在模擬器上測試這個代碼,我不知道。

當我嘗試在設備上運行此應用程序終止。我應該爲此做些什麼。這是我的應用程序需要在下一個活動中需要掃描QR碼的結果。

請建議我該怎麼做。

謝謝。

+0

你還沒有說什麼什麼是「不工作」 - 具體的錯誤? – 2013-02-09 13:40:24

+1

代碼沒有在模擬器上運行,因爲模擬器上沒有相機。當我在設備上運行它時,它會終止。所以請建議如何獲取logcat中的錯誤日誌。 – 2013-02-10 12:32:44

回答

0

您是否在清單中聲明瞭Activity2?將該getText()包裹在試圖捕獲的內存中...

String result = ""; 
try { 
    result = rawResult.getText(); 
catch (NullPointerException npe) { 
    Log.e("handleDecode()", "Result was null.", npe); 
} 

至少當你傳遞「」時,如果結果爲空。

+0

是的,我聲明,在我的清單文件.. – 2013-02-09 13:20:07

+0

謝謝你的回覆。我嘗試了你的建議,它工作正常。但是從相同的方法得到結果後,我想通過Intent調用新的活動,並調用結果的新佈局。所以請指導我。 – 2013-02-10 12:35:33

0

我明白了應用程序終止的原因。當我閱讀一個鏈接,然後明白我沒有在清單中聲明庫文件。因爲我不知道它應該聲明。

謝謝。