2012-02-05 111 views
3


我使用ZXING IntentIntegrator來讀取URL。 我設法使用啓動條碼掃描器:條碼掃描器沒有結果

IntentIntegrator integrator = new IntentIntegrator(List8.this); 
dialog = integrator.initiateScan(); 

條形碼掃描器表明,一個URL已經發現並重定向我回到我的應用程序,我檢索使用的信息:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    if (requestCode == 0) { 
      if (resultCode == RESULT_OK) { 
       String contents = intent.getStringExtra("SCAN_RESULT"); 
       String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); 
       Toast.makeText(getApplicationContext(), contents, Toast.LENGTH_LONG).show(); 
       // Handle successful scan 
      } else if (resultCode == RESULT_CANCELED) { 
       // Handle cancel 
      } 
     } 


     } 

問題是甚至認爲已經找到一個URL requestCode是-1,意圖沒有數據。
有沒有人有任何想法是什麼是我的問題的來源?

P.S.
我試圖實現onActivityResultListener但得到了以下錯誤:

The return type is incompatible with PreferenceManager.OnActivityResultListener.onActivityResult(int, int, 
    Intent) 

回答

1

你爲什麼想到要resultCode爲不-1resultCode用於確定意圖,即您爲調用結果調用活動的「原因」。沒有什麼比這更簡單了......我只是刪除if (requestCode == 0),因爲它並不重要。

+0

我確信-1表示失敗,我的不好。 – eladrich 2012-02-05 20:11:12

+0

你能解釋你的無關答案如何回答這個問題嗎?我不知道爲什麼提問者打勾的答案,但我祈禱,並希望有某種詭計 – Dagon 2014-05-18 06:52:25

+0

@Dagon這個問題是古老的,我不知道OP真正想要什麼,但感謝如此粗魯的標記我的答案爲「無關」。出於顯而易見的原因,當時OP認爲不同。無論如何,如果你有問題,就問問題並告訴我問題是什麼,不要判斷2歲的問題/答案。 – WarrenFaith 2014-05-19 10:16:56

0

您確定您沒有註冊resultCodeRESULT_OK的值實際上是-1(http://developer.android.com/reference/android/app/Activity.html#RESULT_OK)。

如果您使用的是集成代碼,那麼實際上requestCode將是0xC0DE。但是,如果您只是使用該項目中的IntentIntegrator.parseActivityResult(),則無需爲這些細節而煩惱,並且無誤。查看展示如何充分使用它的javadoc。