我目前正在尝试将this组件实现到我使用Xamarins mono for andriod构建的Android应用程序中。
我遇到此问题,我无法从scanner.Scan();
方法返回任何结果,扫描仪启动但没有任何反应?!
所以我尝试从github下载示例项目,当我尝试使用提供的示例代码扫描条形码时,它也是同样的问题。它不会开火。以下是一些负责启动扫描程序和处理结果的代码:
public async void ScanArticleNumber()
{
//Tell our scanner to use the default overlay
scanner.UseCustomOverlay = false;
//We can customize the top and bottom text of the default overlay
scanner.TopText = "Hold the camera up to the barcode\nAbout 6 inches away";
scanner.BottomText = "Wait for the barcode to automatically scan!";
//Start scanning
var result = await scanner.Scan();
HandleScanResult(result);
}
void HandleScanResult(ZXing.Result result)
{
string msg = "";
if (result != null && !string.IsNullOrEmpty(result.Text))
msg = "Found Barcode: " + result.Text;
else
msg = "Scanning Canceled!";
Activity.RunOnUiThread(() =>
{
Toast.MakeText(Activity.BaseContext, msg, ToastLength.Short).Show();
});
}
即使我用相机拍摄大量条形码,代码也永远不会到达HandleScanResult方法。
任何想法为什么?
答案 0 :(得分:1)
从Github下载最新版本的ZXing.Net.Mobile解决了问题 然后运行该示例项目并从bin文件夹中获取以下dll:
我用这些替换了我当前的ddls并且它有效!这可能是因为我从xamarin components首次下载了dll,文件可能不是最新的。
希望这有帮助。