2011-04-09 29 views
11

我已經下載了zxing 1.6並能夠通過它成功運行獨立條形碼掃描儀。現在這個掃描儀是在另一個項目和(CaptureActivity),我有我的應用程序的不同項目稱爲MyProj,我想要做的所有我想要做的是在我的項目中按一下按鈕在另一個項目中調用CaptureActivity,如何導入整個項目我的項目或我該怎麼做才能實現這個工作。 感謝提前在Android應用程序中單擊按鈕時調用條形碼掃描儀

+1

是有一個通用的米姆樣型我可以喊出了「條形碼掃描」?這個意圖明確指定了zxing應用程序。 – masi 2012-05-11 10:08:55

+0

'com.google.zxing.client.android.SCAN'是掃描的通用'Intent'。只是ZXing在Android 1.0之前就已經有了,所以這是事實上的標準。它不僅選擇條形碼掃描儀。 – 2012-05-11 12:48:51

回答

33

我認爲「複製」條碼掃描儀,並在您的應用程序可能會超載您的項目包括它。你當然應該使用意圖從掃描儀:

從這裏:http://code.google.com/p/zxing/wiki/ScanningViaIntent

如果安裝在Android設備上的條碼掃描器,你可以把它掃描你,只是通過發送它的返回結果,意圖。例如,你可以連接一個按鈕以掃描的QR碼是這樣的:

public Button.OnClickListener mScan = new Button.OnClickListener() { 
    public void onClick(View v) { 
     Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     intent.setPackage("com.google.zxing.client.android"); 
     intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
     startActivityForResult(intent, 0); 
    } 
}; 

public 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"); 
      // Handle successful scan 
     } else if (resultCode == RESULT_CANCELED) { 
      // Handle cancel 
     } 
    } 
} 

更多的選項,比如掃描產品的條形碼,或要求條碼掃描器進行編碼和對您顯示條形碼,請參閱本源文件:

http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/Intents.java

下面是從我們的測試應用中的一些來源,展示瞭如何使用它們:

http://code.google.com/p/zxing/source/browse/trunk/androidtest/src/com/google/zxing/client/androidtest/ZXingTestActivity.java

IntentIntegrator

我們也開始創建一個封裝了上述某些細節的類的小型庫。請參閱IntentIntegrator以獲取可能更簡單的集成方法。特別是這將處理尚未安裝條碼掃描儀的情況。

http://code.google.com/p/zxing/source/browse/trunk/android-integration/src/com/google/zxing/integration/android/IntentIntegrator.java

通過URL 作爲條碼掃描器V2.6的,你也可以在瀏覽器中的URL啓動應用程序。簡單地創建一個超鏈接到http://zxing.appspot.com/scan和條碼掃描儀將提供啓動來處理它。用戶還可以選擇始終自動打開條形碼掃描儀。

注:此網址並不意味着在瀏覽器服務的實際網頁,它只是啓動本機應用程序的鉤子。

已知問題 用戶jamesikanos報告以下「疑難雜症」:

創建launchMode「singleInstance」一TabHost活動 創建一個子活動「開始掃描」按鈕(啓動使用IntentIntegrator從這個按鈕斑馬線) onActivityResult在你的孩子的活動將立即返回爲「取消」 onActivityResult從未隨後稱爲

+0

如果啓動意圖不設置你會得到你默認安裝QR碼閱讀器(QR德魯伊在我的情況下)的包或appchooser對話框,如果你有一個以上的 – Radon8472 2015-05-21 07:14:30

相關問題