2016-08-02 95 views
1

我已經創建了一個Android應用程序,以運行在以前只與Jelly Bean一起運行的MC67NA。由於EMDK僅支持KitKat及以上版本,因此我必須通過DataWedge進行所有條形碼掃描。但是,現在KitKat已經發布,現在我有一個運行KitKat的設備,我正在修改應用程序以使用EMDK而不是DataWedge。我的問題是,雖然我看到提供的所有樣本,並且他們確實有助於開始,但它們也適用於單個佈局/活動應用程序。我現有的應用程序有一個主要的活動,用作碎片和視圖尋呼機的容器。當他們是視圖尋呼機中的活動頁面時,我需要對幾個片段進行掃描。 DataWedge使這一切變得簡單,因爲我不必擔心其中的任何內容,它只會掃描到重點關注的領域。摩托羅拉/ Zebra移動計算機MC67條碼掃描與Xamarin EMDK

說了這麼多,爲此設置實現EMDK條形碼掃描儀的最佳方法是什麼?我知道很多人反對單人課,但我正在考慮走這條路。在應用程序啓動時創建一個單例以實現掃描器。從每個片段中,我可以將實例獲取到掃描器類並使用它。任何人都可以給我一些建議嗎?我也不知道如何在單例中註冊事件處理程序(假設這是最好的方法),然後讓這些事件在碎片上觸發。

我確實想擺脫DataWedge,並因各種原因集成EMDK。

最後,在一個相關的說明,我已經開始編寫這種做法,我得到在這條線的異常:

EMDKResults results = EMDKManager.GetEMDKManager(Application.Context, this); 

的異常狀態:

拋出java.lang.ClassNotFoundException:沒有在路徑中找到類「com.symbol.emdk.EMDKManager」:DexPathList [[zip文件「/data/app/PocketPacTracAndroid.PocketPacTracAndroid-2.apk"],nativeLibraryDirectories=[/data/app-lib/PocketPacTracAndroid。 PocketPacTracAndroid-2,/ vendor/lib,/ system/lib]]

發生這種情況,即使我已經包括了參考:

enter image description here

提前感謝!

邁克

回答

1

所有,對於其他人可能遇到此問題的好處,我發現根本包括引用的DLL是不夠的,這一點。您還需要將參考和權限添加到清單中。所以,如果你得到這個錯誤,請確保你的清單中有這兩行。

  1. 正下方 「使用-SDK」 標籤

<uses-permission android:name="com.symbol.emdk.permission.EMDK" />

  • 裏面的 「應用程序」 標籤的
  • <uses-library android:name="com.symbol.emdk" />