2017-06-18 18 views
0

andoridデバイスでZamingコードスキャナをxamarin形式で使用しようとしています。 は、Zxingスキャナページを開くためのボタンを作成しました。Xamarin.Formsを使用してAndroidデバイスのZxingバーコードスキャナ

しかし、私はこのように憤慨しています。

のSystem.InvalidOperationException:PushAsyncはないアンドロイドでグローバルにサポートされている、NavigationPageを使用してください、私はこのエラーを取得する方法を同期させるために、それを移動する場合が

​​

:それは私にunhandel exceptoinを送信します。

 private void goToScan() 
    { 
     var scanPage = new ZXingScannerPage(); 

     scanPage.OnScanResult += (result) => { 
      // Stop scanning 
      scanPage.IsScanning = false; 

      // Pop the page and show the result 
      Device.BeginInvokeOnMainThread(() => { 
       Navigation.PopAsync(); 
       DisplayAlert("Scanned Barcode", result.Text, "OK"); 
      }); 
     }; 

     // Navigate to our scanner page 
     Navigation.PushAsync(scanPage); 
    } 
} 

を、私はこのようPushModalAsyncに非同期(async)Navagation.pushを変更した場合::

私のコードを取り付ける Navigation.PushModalAsync(scanPageを)。

私はZxingスキャナページに移動しますが、スキャンは開始されません。 (crusiorイベントは移動しない

私の主なAndorid活動は次のようになります。

[Activity(Label = "QRCode4", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 
     ZXing.Net.Mobile.Forms.Android.Platform.Init(); 
     TabLayoutResource = Resource.Layout.Tabbar; 
     ToolbarResource = Resource.Layout.Toolbar; 

     base.OnCreate(bundle); 


     global::Xamarin.Forms.Forms.Init(this, bundle); 
     LoadApplication(new App()); 
    } 

    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) 
    { 
     global::ZXing.Net.Mobile.Forms.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults); 
    } 
} 

appericate

任意の助けのおかげ

答えて

2

あなたはApp.csのナビゲーション不足しています。

MainPage = new NavigationPage(new YourFirstPage()); 

代わりに単純にMainPage = new YourFirstPage();

+0

私の解決した問題でした! o Xamarinフォームのページについて詳しく読む。 –

関連する問題