2013-11-28 32 views
0

我正在開發一款應用程序(對於單個客戶),Xamarin必須使用相機讀取條形碼(以及可選的外置藍牙掃描儀),並用於測試華碩TF300T,LG4xP880和Nexus 7第二版(目標機器)。從Xamarin Android應用程序使用條形碼掃描儀+意圖

我測試了ScandIt和ZXing,但是我用免費的條碼掃描器應用程序(ZXing的同一個庫,我知道,但無法獲得相同的速度)的最佳結果。 我讀過,我可以使用它的意圖,我也可以購買加號版本(需要肖像掃描),但我找不到任何文件如何(如果可能),只有意圖呼叫:

  • 配置的佈局,選擇縱向/橫向
  • 選擇條碼類型(排除部分)
  • 插入一個按鈕,退出掃描不讀

這可能嗎?

回答

1

ZXing提供了一個IntentIntegrator類,可以啓動ZXing或提示用戶從Google Play商店安裝它。但是,如果您知道安裝了條形碼掃描儀或條碼掃描儀Plus,則可以自己撥打StartActivityForResult。這裏是一個recipe using StartActivityForResult

佈局是由設備的方向確定,沒有必要指定它。但是,正如您所知道的,ZXing僅適用於橫向模式,因此您需要購買用於縱向支持的加號版本。

斑馬線提供兩個選項用於指定條形碼解碼

intent.putExtra("SCAN_MODE", ...) 

根據ZXing Intents掃描模式可以是PRODUCT_MODE之一,ONE_D_MODEQR_CODE_MODEDATA_MATRIX_MODE。另外,您可以提供的格式列表,你想對任何給定的情況下

intent.putExtra("SCAN_FORMATS", "EAN_13,EAN_8,QR_CODE,...") 

Plus版本是由斑馬線隊的肖恩·歐文出版,它的基礎上斑馬線支持,所以它可能具有相同的配置選項並回應相同的意圖。

紅利:我寫了一個app for external scanners,它負責連接和配置掃描儀。它使得將藍牙條形碼掃描器支持添加到任何新的或現有的應用程序變得微不足道。把它看作是ZXing的藍牙條碼掃描。 client code在GitHub上運行,並提供入門指導。

+0

謝謝你的所有有用的信息。 明天,我會但掃描儀+和意向測試。 –

+0

我只需要使用自定義佈局,並且我想知道是否可能:必不可少的是添加一個大的「取消」按鈕以返回到我的應用程序而不讀取條形碼。 用戶不會有可用的後退/菜單/家庭按鈕(仍然需要弄清楚),因爲平板電腦將只使用這個應用程序。 感謝您的建議,但我們排除了外部掃描儀,因爲用戶只有一隻手可以自由操作。 –

相關問題