私はXamarin FormsとPrismでアプリケーションを開発しています。私はZebra SDKを使用してバーコードスキャナーハードウェアを使用しています。私はMessagingCenterとバーコードスキャンイベントをインターセプト は、私がMainActivity.csで送信宣言があります。ZebraのバーコードスキャナをサスペンドするTC51
Xamarin.Forms.MessagingCenter.Send<App, string>(_my_application, "Barcode", data.Data);
を、私は、サブスクリプションでのviewmodelsでスキャンしたデータを受け取る:今すぐ
Xamarin.Forms.MessagingCenter.Subscribe<App, string>(this, "Barcode", (sender, arg) =>
{
...
}
I機能エラーの場合にバーコードスキャナを停止する必要があります。私は通常、ポップアップメッセージが表示さ:
_pageDialogService.DisplayAlertAsync("Barcode Scanner", "My message", "OK");
をし、私は、ユーザーが「OK」ボタンをタッチし、その後、再びスキャナを有効にします。 (これはブロックメッセージです) どうすればいいですか?問題は、私のバーコードスキャナコードがMainActivityにあり、どのようにViewModelコードからバーコードスキャナを停止して再開できるのかわかりません。スキャナがハードウェアボタンによって起動されるため、ポップアップメッセージが十分ではありません。
こんにちはアレッサンドロ、私は回避策としてブール変数が良い解決策だと思いますが、スキャンの "ビープ音"が残っています。どうすればこのサウンドをミュートできますか?それ以外の場合、DependencyServiceソリューションは私にとっては良いことですが、私はDependencyServiceを他の関数(例えばISQLite)に使用しています。しかし、私はZebra SDKを使ってバーコードスキャナーのDependencyServiceをどのように構築するのか分かりません。ご協力ありがとうございました。 – TeoVr81
私はhttp://techdocs.zebra.com/emdk-for-android/4-2/tutorial/tutBasicScanningAPI/を見てきました。scanner.disableがあるようです。私はあなたがdependencyserviceでこのプロパティを使用しようとすることができると思います –