2014-10-29 2 views
1

바코드를 스캔 할 응용 프로그램을 테스트 중입니다. 이 응용 프로그램은 크로스 플랫폼이므로 Visual Studio를 사용하여 Xamarin으로 개발하고 있습니다. Xamarin을위한 최고의 바코드 스캐닝 라이브러리처럼 보이기 때문에 Scandit을 사용하기로 결정했습니다.장치가있는 Scandit Motorola XT907 - 초점이 맞지 않는 카메라

이 특정 장치에서 발생하는 문제는 카메라가 매우 흐리거나 자동 초점을 맞출 수없는 것입니다. 이 때문에 나는 제대로 스캔하는 데 어려움을 겪고 있습니다.

휴대 전화에 내장 된 카메라 앱이 훌륭하게 잘 작동합니다. 다른 바코드 응용 프로그램도 잘 초점을 수있을 것 같습니다. 다른 Android 기기에서 내 앱을 사용해 보았지만 정상적으로 작동합니다. 이 특정 장치와 Scandit의 조합 인 것 같습니다.

스캔 할 바코드 유형은 모두 code128입니다. 나는 다른 모든 유형을 비활성화 시켰는데 그것은 상당히 도움이되는 것 같았지만 여전히 스캔하는 것은 매우 어렵습니다.

public class MainActivity : Activity, Scandit.Interfaces.IScanditSDKListener 
{ 
    private ScanditSDKBarcodePicker picker; 
    const string APP_KEY = "it's a secret."; 

    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 

     SetContentView(Resource.Layout.Main);    

     Button button = FindViewById<Button>(Resource.Id.MyButton); 

     button.Click += delegate 
     { 
      picker = new ScanditSDKBarcodePicker(this, APP_KEY); 
      picker.OverlayView.AddListener(this); 

      picker.SetCode39Enabled(false); 
      picker.SetCode93Enabled(false); 
      picker.SetEan13AndUpc12Enabled(false); 
      picker.SetEan8Enabled(false); 
      picker.SetUpceEnabled(false); 
      picker.SetItfEnabled(false); 
      picker.SetMsiPlesseyEnabled(false); 
      picker.SetGS1DataBarEnabled(false); 
      picker.SetGS1DataBarExpandedEnabled(false); 
      picker.SetQrEnabled(false); 
      picker.SetDataMatrixEnabled(false); 
      picker.SetPdf417Enabled(false); 
      picker.SetCodabarEnabled(false); 

      picker.StartScanning(); 

      SetContentView(picker); 
     }; 
    } 

    public void DidScanBarcode(string barcode, string symbology) 
    { 
     Toast.MakeText(this, string.Format("barcode scanned: {0}, '{1}'", symbology, barcode), ToastLength.Long).Show(); 
    } 

    public void DidCancel() 
    { 
     Toast.MakeText(this, "Cancel was pressed.", ToastLength.Long).Show(); 
    } 

    public void DidManualSearch(string text) 
    { 
     Toast.MakeText(this, "Search was used. " + text, ToastLength.Long).Show(); 
    } 
} 

답변

0

그것은 판명이 자 마린의 Scandit 라이브러리 버그이었다

여기 내 코드입니다. 나는 개발자에게 전자 메일을 보내고 그들은 11 월 중순에 발표 될 다음 버전에서 수정되어야한다는 것을 알렸다. 방금 업데이트 된 최신 Scandit 데모 앱을 다운로드 했으므로 이제는 제대로 작동합니다.

이렇게 Scandit 4.3을 공개 할 때 수정해야합니다.

관련 문제