我正在用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) =>
{
...
}
現在我需要在發生功能錯誤時停止條形碼掃描器。我通常會彈出一條消息:
_pageDialogService.DisplayAlertAsync("Barcode Scanner", "My message", "OK");
我想在用戶點擊「確定」按鈕後再次啓用掃描儀。 (我希望這是一個屏蔽消息) 我該怎麼做?問題是我的條碼掃描器代碼位於MainActivity中,我不知道如何從ViewModel代碼中停止和恢復條碼掃描器。彈出消息是不夠的,因爲掃描儀是由硬件按鈕觸發的。
嗨亞歷山德羅,我認爲布爾變量作爲解決方法是一個很好的解決方案,但掃描的「嗶嗶」聲仍然存在。我怎樣才能將此聲音靜音?否則,DependencyService解決方案對我來說可能很好,我對其他功能(例如ISQLite)使用DependencyService。但我不知道如何使用Zebra SDK爲條形碼掃描器構造DependencyService。感謝您的幫助。 – TeoVr81
我看看http://techdocs.zebra.com/emdk-for-android/4-2/tutorial/tutBasicScanningAPI/似乎有一個scanner.disable。我認爲你可以嘗試在一個依賴服務中使用這個屬性 –