private async Task runQrScanner() { List <BarcodeFormat> formats = new List <BarcodeFormat>(); formats.Add(BarcodeFormat.QR_CODE); var options = new MobileBarcodeScanningOptions { AutoRotate = false, UseFrontCameraIfAvailable = true, TryHarder = true, PossibleFormats = formats }; scanPage = new ZXingScannerPage(); scanPage.OnScanResult += (result) => { scanPage.IsScanning = false; Device.BeginInvokeOnMainThread(async() => { await Navigation.PopModalAsync(); await Navigation.PushModalAsync(new Loader()); TreeData treeData = await ApiService.GetTreeInfoAsync(result.Text); if (treeData != null && !treeData.error) { //for some reson here you have to make this lines in MainThread , you did it above but the below working on Task so to update UI you should implment //in UI MainThread if (treeData.treeNotSold) { Device.BeginInvokeOnMainThread(async() => { errorModel.Status = "Please scan QR code"; await Navigation.PushAsync(new NotSoldTreeView(treeData)); }); } else { Device.BeginInvokeOnMainThread(async() => { errorModel.Status = "Please scan QR code"; await Navigation.PushAsync(new TreeDetails(treeData)); }); //Will work ^_^ } await Navigation.PopModalAsync(); } else { await Navigation.PopModalAsync(); errorModel.Status = "Invalid code, please scan an other one"; } }); }; await Navigation.PushModalAsync(scanPage); }
private async void BtnBusquedaPorCodigo_Clicked(object sender, EventArgs e) { try { string strIpDeConexion = string.Empty; string strMetodoCadena = string.Empty; string strCodigoEscaneado = string.Empty; var scannerPage = new ZXingScannerPage(); scannerPage.Title = "Lector de QR"; var status = await CrossPermissions.Current.CheckPermissionStatusAsync <CameraPermission>(); if (status != PermissionStatus.Granted) { if (await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Permission.Location)) { await DisplayAlert("Se necesitan permisos para usar la camara", "¿Desea otorgar permisos a la camara?", "OK"); } status = await CrossPermissions.Current.RequestPermissionAsync <CameraPermission>(); } if (status == PermissionStatus.Granted) { scannerPage.OnScanResult += (result) => { scannerPage.IsScanning = false; Device.BeginInvokeOnMainThread(() => { Navigation.PopModalAsync(); //strIpDeConexion = "http://192.168.0.7:8081/"; strIpDeConexion = "http://192.168.100.43:100/"; //strIpDeConexion = "http://192.168.10.218:100/"; //strIpDeConexion = "http://192.168.100.24:100/"; strMetodoCadena = "LeerExcel/"; strCodigoEscaneado = result.Text; var strLigaConsultar = string.Empty; strLigaConsultar = strIpDeConexion + strMetodoCadena + "2&" + strCodigoEscaneado; obtenerProductos(strLigaConsultar); }); }; await Navigation.PushModalAsync(scannerPage); } else if (status != PermissionStatus.Unknown) { await DisplayAlert("Se necesitan permisos para usar la camara", "Favor de Otorgar permisos a la camara", "OK"); } } catch (Exception ex) { await DisplayAlert("Error", ex.Message, "OK"); } }
public async Task Capturar() { scanPage = await Util.CapturarCodigoAsync(scanPage, "Escanear Codigo", ZXing.BarcodeFormat.EAN_13);// QR_CODE); try { if (!iniCapt) { scanPage.OnScanResult += (resut) => { Device.BeginInvokeOnMainThread(async() => { try { if (exibindoMsg) { return; } scanPage.IsScanning = false; if (!string.IsNullOrEmpty(CodigoCapturado)) { return; } Util.Vibrar(); CodigoCapturado = resut.Text; await Navigation.PopModalAsync(); Inventario inventario = new Inventario { InvCodigo = CodigoCapturado //Categoria = txtCategoria.Text.Trim(), //Preco = Convert.ToDecimal(txtPreco.Text) }; await dataService.AddInventarioAsync(inventario); } catch (Exception ex) { exibindoMsg = true; await this.DisplayAlert("Atenção", "Codigo invalido tente novamente !", "ok"); exibindoMsg = false; } }); }; iniCapt = true; } CodigoCapturado = ""; await Navigation.PushModalAsync(scanPage); } catch (Exception e) { } }
public AddContactViewModel(ObservableCollection <Contacts> contactsList) { Source = "Person.png"; NewContact = new Contacts() { Photo = "Mine.jpg" }; AddCommand = new Command(async() => { contactsList.Add(new Contacts { Name = NewContact.Name, Last = NewContact.Last, Company = NewContact.Company, Phone = NewContact.Phone, Mobile = NewContact.Mobile, Email = NewContact.Email, Home = NewContact.Home }); //using (var realm = Realm.GetInstance()) //{ // realm.Write(() => // { // realm.Add(contactsList[contactsList.Count-1]); // }); //} await App.Current.MainPage.Navigation.PopAsync(); }); PhotoCommand = new Command(DisplayElementPhoto); ScanCommand = new Command <Contacts>(async(_selected) => { var ScanPage = new ZXingScannerPage(); ScanPage.OnScanResult += (result) => { ScanPage.IsScanning = false; Device.BeginInvokeOnMainThread(async() => { var split = result.Text.Split('*'); contactsList.Add(new Contacts { Name = split[0], Last = split[1], Company = null, Phone = split[2], Mobile = null, Email = null, Home = null }); await App.Current.MainPage.Navigation.PopAsync(); await App.Current.MainPage.Navigation.PopAsync(); await App.Current.MainPage.DisplayAlert("Done It", $"The new contact is {result.Text}", "Ok"); }); }; await App.Current.MainPage.Navigation.PushAsync(ScanPage); }); }
public async Task <ZXingScannerPage> PushScanModal(MobileBarcodeScanningOptions options = null) { options ??= new MobileBarcodeScanningOptions(); var page = new ZXingScannerPage(options); await m_app.MainPage.Navigation.PushModalAsync(page); return(page); }
private async Task NewMethod() { ScanImage.SetValue(IsVisibleProperty, true); try { if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await DisplayAlert("No Camera", ":( No camera available.", "OK"); return; } else { var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { Directory = "Sample", Name = "test.jpg", SaveToAlbum = true, }); if (file == null) { return; } if (ScanImage != null) { ScanImage.Source = ImageSource.FromStream(() => { var stream = file.GetStream(); file.Dispose(); return(stream); }); // mainSTack.IsVisible = false; } } var scan = new ZXingScannerPage(); await Navigation.PushAsync(scan); scan.OnScanResult += (result) => { ZXing.BarcodeFormat barcodeFormat = result.BarcodeFormat; string type = barcodeFormat.ToString(); Device.BeginInvokeOnMainThread(async() => { await Navigation.PopAsync(); VinEnteredNumber.Text = result.Text; }); }; }catch (Exception ex) { await DisplayAlert("Alert", " " + ex, "OK"); } }
public MainPage() { InitializeComponent(); _scanPage = new ZXingScannerPage { DefaultOverlayBottomText = "", DefaultOverlayTopText = "線をバーコードに合わせてください。", }; _scanPage.OnScanResult += ScanPageOn_OnScanResult; }
public async void Scan(Entidade_Leitura leitura) { try { string resultado = ""; //https://julianocustodio.com/2017/11/03/scanner/ var scanpage = new ZXingScannerPage(); scanpage.OnScanResult += (result) => { // Parar de escanear scanpage.IsScanning = false; //Poderia fazer qualquer outra ação resultado = result.Text; // Alert com o código escaneado Device.BeginInvokeOnMainThread(() => { if ((Controle.ValidaBarcodeSN(result.Text))) { if (InventoryPD3.App._position != null) { leitura.CodigoBarras = result.Text; leitura.TimestampLeitura = DateTime.Now.ToString(); leitura.GPSAccuracy = InventoryPD3.App._position.Accuracy.ToString(); leitura.GPSLatitude = InventoryPD3.App._position.Latitude.ToString(); leitura.GPSLongitude = InventoryPD3.App._position.Longitude.ToString(); leitura.GPSTimestamp = InventoryPD3.App._position.Timestamp.ToString(); leitura.Synced = false; leitura.CaminhoImg = "N/A"; leitura.urlImg = "N/A"; leitura.Data = "N/A"; leitura.TimestampFoto = DateTime.Now.ToString(); //TakeCam(leitura); comentado pois desde 25/01 decidiu-se que não vamos mais armazenar a imagem do produto DisplayAlert("Código Lido!", "O SN " + result.Text + " foi lido com sucesso!", "OK"); SendToSQLite(leitura); //SendToFirebase(leitura); } else { DisplayAlert("Status GPS", "Não há sinal informações de localização", "OK"); } } else { Navigation.PopAsync(); DisplayAlert("Código inválido!", "Esse não é o código de barras do número de série do produto.", "OK"); Scan(leitura); } }); }; await Navigation.PushAsync(scanpage); } catch (Exception e) { } }
//async void ScanButtonClicked(object sender, EventArgs s) { // var scanPage = new ZXingScannerPage() { // DefaultOverlayTopText = "バーコードを読み取ります", // DefaultOverlayBottomText = "", // }; // await Navigation.PushAsync(scanPage); // scanPage.OnScanResult += (result) => { // scanPage.IsScanning = false; // Device.BeginInvokeOnMainThread(async () => { // scanedcode = result.Text; // await Navigation.PopAsync(); // //await DisplayAlert("Scan Done!", result.Text, "OK");//これは消して良い // //スキャンして得た情報を使って何かしたい場合 // //ここに処理を書く // }); // }; //} async void LightScanBtnClicked(object sender, EventArgs s) { var scanPage = new ZXingScannerPage() { DefaultOverlayTopText = "バーコードを読み取ります", DefaultOverlayBottomText = "", }; await Navigation.PushAsync(scanPage); scanPage.OnScanResult += (result) => { scanedcode = result.Text; scanPage.IsScanning = false; Device.BeginInvokeOnMainThread(async() => { await Navigation.PopAsync(); DependencyService.Get <IMyFormsToast>().Show("LightWeghtTest:" + scanedcode); GetObjects gj = new GetObjects(); string jsonString = await gj.GetItemJsonString(scanedcode); if (jsonString != "null") { SearchedInfo thingInfo = gj.GetItemObjectFromJson(jsonString); //userIdはとりあえず1の人固定 int userId = 1; //int itemId = thingInfo[0].Id; int itemId = thingInfo.Id; //個数はとりあえず1個固定 int itemNum = 1; //購入品情報を作成 Bought_thing bt = new Bought_thing(); bt.user_id = userId; bt.thing_id = itemId; bt.num = itemNum; PostJson pj = new PostJson(); //Postして購入済みリストに追加、次の購入日を取得 Next_buy_date nextBuyDate = await pj.PostBoughtThingInfo(bt); DependencyService.Get <IMyFormsToast>().Show("次の購入日を取得:" + nextBuyDate.next_buy_date); //消耗品リスト作成 Bought_expendable be = new Bought_expendable(); be.user_id = userId; be.thing_id = thingInfo.Id; be.limit = nextBuyDate.next_buy_date; //Postして消耗品リストに登録 Expendables postedEx = await pj.PostExpendablesInfo(be); DependencyService.Get <IMyFormsToast>().Show("消耗品リストに登録しました: " + postedEx.created_at); } else //json null { DependencyService.Get <IMyFormsToast>().Show("該当の商品情報がありません!"); } }); }; }
async void EntryScan(Image image) { try { var scanPage = new ZXingScannerPage(); await Navigation.PushAsync(scanPage); scanPage.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(async() => { await Navigation.PopAsync(); SfTextInputLayout sfInputText = null; Entry entry = null; CustomDatePicker picker = null; foreach (View t in entryStack.Children) { if (t.StyleId == image.StyleId) { var stack = (StackLayout)t; foreach (View v in stack.Children) { if (v.StyleId == image.StyleId) { string type = v.GetType().ToString(); if (type == "ASolute_Mobile.CustomRenderer.CustomEntry") { CustomEntry customentry = (CustomEntry)v; customentry.Text = result.Text; } else if (type == "Syncfusion.XForms.TextInputLayout.SfTextInputLayout") { sfInputText = (SfTextInputLayout)v; entry = (Entry)sfInputText.InputView; entry.Text = result.Text; } else if (type == "ASolute_Mobile.CustomRenderer.CustomDatePicker") { picker = (CustomDatePicker)v; picker.Date = DateTime.Parse(result.Text); } } } } } }); }; } catch { } }
async void OnButtonClickedCapture(object sender, EventArgs args) { // Create our custom overlay var customOverlay = new StackLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand }; var torch = new Button { Text = "Toggle Torch" }; customOverlay.Children.Add(torch); //setup options var options = new MobileBarcodeScanningOptions { AutoRotate = false, UseFrontCameraIfAvailable = false, TryHarder = true, PossibleFormats = new List <ZXing.BarcodeFormat> { ZXing.BarcodeFormat.EAN_8, ZXing.BarcodeFormat.EAN_13 //ZXing.BarcodeFormat.CODE_128, ZXing.BarcodeFormat.CODE_39 } }; //add options and customize page var scanPage = new ZXingScannerPage(options) { DefaultOverlayTopText = "Align the barcode within the frame", DefaultOverlayBottomText = string.Empty, DefaultOverlayShowFlashButton = true }; torch.Clicked += delegate { scanPage.ToggleTorch(); }; scanPage.OnScanResult += (result) => { // Stop scanning scanPage.IsScanning = false; // Pop the page and show the result Device.BeginInvokeOnMainThread(async() => { await Navigation.PopModalAsync(); await DisplayAlert("Scanned Barcode", result.Text, "OK"); model.BarCode = result.Text; }); }; // Navigate to our scanner page await Navigation.PushModalAsync(scanPage); }
public ScanningPage() { Title = "Scanner"; var page = new ZXingScannerPage(); page.IsScanning = true; page.OnScanResult += Display; OnScanResult += Display; }
private async void Button_Clicked(object sender, EventArgs e) { var option = new ZXing.Mobile.MobileBarcodeScanningOptions(); option.AutoRotate = true; option.PossibleFormats = new List <ZXing.BarcodeFormat>() { ZXing.BarcodeFormat.EAN_8, ZXing.BarcodeFormat.EAN_13, ZXing.BarcodeFormat.CODE_128 }; var scanPage = new ZXingScannerPage(option); scanPage.HeightRequest = 300; scanPage.WidthRequest = 200; scanPage.OnScanResult += (result) => { // Stop scanning scanPage.IsScanning = false; if (scanPage.IsScanning) { scanPage.AutoFocus(); } // Pop the page and show the result Device.BeginInvokeOnMainThread(async() => { await Navigation.PopAsync(); // await DisplayAlert("Scanned Barcode", result.Text, "OK"); try { var data = result.Text.Split(';'); if (data.Length > 0) { var context = BindingContext as TracingViewModel; var resultData = await context.Find(data[0], data[1]); if (result != null) { await Navigation.PushAsync(new TrackingDetail(resultData)); } } else { throw new SystemException("Ulangi Scan QR Code"); } } catch (Exception ex) { await DisplayAlert("Error", ex.Message, "OK"); } }); }; // Navigate to our scanner page await Navigation.PushAsync(scanPage); }
/// <summary> /// Scan QR Code /// </summary> private async void tiQRCode_Activated(object sender, EventArgs e) { if (!App.AppSettings.QRCodeEnabled) { return; } var expectedFormat = ZXing.BarcodeFormat.QR_CODE; var opts = new ZXing.Mobile.MobileBarcodeScanningOptions { PossibleFormats = new List <ZXing.BarcodeFormat> { expectedFormat } }; System.Diagnostics.Debug.WriteLine("Scanning " + expectedFormat); var scanPage = new ZXingScannerPage(opts); scanPage.OnScanResult += (result) => { scanPage.IsScanning = false; Device.BeginInvokeOnMainThread(async() => { await Navigation.PopAsync(); try { var qrCodeId = result.Text.GetHashCode() + ""; var qrCode = App.AppSettings.QRCodes.FirstOrDefault(o => o.Id == qrCodeId); if (qrCode != null && qrCode.Enabled) { App.AddLog("QR Code ID Found: " + qrCodeId); App.ShowToast(AppResources.qrcode + " " + qrCode.Name); await App.ApiService.HandleSwitch(qrCode.SwitchIDX, qrCode.SwitchPassword, -1, qrCode.Value, qrCode.IsScene); App.SetMainPage(); } else { App.AddLog("QR Code ID not registered: " + qrCodeId); App.ShowToast( qrCode == null ? AppResources.qrcode_new_found : AppResources.qr_code_disabled); } } catch (Exception ex) { App.AddLog(ex.Message); } }); }; await Navigation.PushAsync(scanPage); }
private void GroupListView_OnItemSelected(object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem is MemoryItem) { var memoryItem = e.SelectedItem as MemoryItem; // open ScanPage var scanPage = new ZXingScannerPage(); scanPage.OnScanResult += async(result) => { // Stop scanning scanPage.IsScanning = false; if (!string.IsNullOrEmpty(result.Text)) { memoryItem.Title = result.Text; await SaveFile(); } else { await DisplayAlert("Warnung", "QR-Code konnte nicht gescannt werden.", "OK"); } // Pop the page and show the result Device.BeginInvokeOnMainThread(() => { Navigation.PopModalAsync(); }); }; // Navigate to our scanner page Navigation.PushModalAsync(scanPage); } else if (e.SelectedItem is MemoryGroup) { var group = e.SelectedItem as MemoryGroup; UserDialogs.Instance.Prompt(new PromptConfig { Title = "Gib ein", InputType = InputType.Default, Text = group.Name, OkText = "Erstellen", CancelText = "Abbrechen", OnAction = result => { if (!result.Ok) { return; } group.Name = result.Text; } }); } ((ListView)sender).SelectedItem = null; }
private async void Barcode_Clicked(object sender, EventArgs e) { // Create our custom overlay var customOverlay = new StackLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.EndAndExpand }; var cancel = new Button { Text = "Cancel", VerticalOptions = LayoutOptions.End }; cancel.Clicked += delegate { Device.BeginInvokeOnMainThread(() => { Navigation.PopAsync(); }); }; customOverlay.Children.Add(cancel); scanPage = new ZXingScannerPage(new ZXing.Mobile.MobileBarcodeScanningOptions { AutoRotate = true, TryHarder = true }, customOverlay: customOverlay); scanPage.OnScanResult += (result) => { scanPage.IsScanning = false; if (result != null && result.Text.Length > 0) { viewModel.SearchInput = result.Text; Device.BeginInvokeOnMainThread(() => { Navigation.PopAsync(); }); viewModel.SearchCommand(); } else { viewModel.NoSearchResult_Message(); Device.BeginInvokeOnMainThread(() => { Navigation.PopAsync(); }); } }; await Navigation.PushAsync(scanPage); }
public async void ScanQRCode() { ZXingScannerPage ScannerPage = viewHolder.Scan(); ScannerPage.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(() => { Navigation.PopAsync(); }); }; await Navigation.PushAsync(ScannerPage); }
private void ButtonScanDefault_Clicked(object sender, EventArgs e) { scanPage = new ZXingScannerPage(); scanPage.OnScanResult += (result) => { scanPage.IsScanning = false; Device.BeginInvokeOnMainThread(() => { Navigation.PopAsync(); DisplayAlert("Scanned Barcode", result.Text, "OK"); }); }; }
async Task NavigateToScannerpage() { //setup Scanner options MobileBarcodeScanningOptions options = new MobileBarcodeScanningOptions { AutoRotate = false, UseFrontCameraIfAvailable = false, TryHarder = true, DelayBetweenContinuousScans = 10000, DisableAutofocus = false }; var overlay = new ZXingDefaultOverlay { ShowFlashButton = true, TopText = "Hold your phone up to the barcode", BottomText = "Scanning will happen automatically" }; overlay.BindingContext = overlay; ZXingScannerPage scanPage = new ZXingScannerPage(options, overlay) { HasTorch = true, IsTorchOn = false }; #pragma warning disable CS1998 // This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. overlay.FlashButtonClicked += async(sender, e) => { #pragma warning restore CS1998 // This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. scanPage.ToggleTorch(); }; scanPage.OnScanResult += (result) => { // Stop scanning scanPage.IsScanning = false; // Pop the page and show the result Device.BeginInvokeOnMainThread(async() => { await Navigation.PopAsync(); if (result != null && !string.IsNullOrWhiteSpace(result.Text)) { Process(result.Text); //_application.mqttHelper.PublishMQTT(result.Text, "BarcodeDEMOXacti"); } }); }; // Navigate to our scanner page await Navigation.PushAsync(scanPage); }
public async void JobNoScan(object sender, EventArgs e) { var scanPage = new ZXingScannerPage(); await Navigation.PushAsync(scanPage); scanPage.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(() => { JobNoList(result.Text); }); }; }
async private void Button_Scan(object sender, EventArgs e) { var Scan = new ZXingScannerPage(); await Navigation.PushAsync(Scan); Scan.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(async() => { await Navigation.PushAsync(new Checkproduct(result.ToString())); }); }; }
async void scanClicked(object sender, EventArgs e) { //MobileBarcodeScanner.Initialize(Application); //await DisplayAlert("notice", "start scan carcode", "yes"); #if __ANDROID__ // Initialize the scanner first so it can track the current context MobileBarcodeScanner.Initialize (Application); #endif // Initialize the scanner first so it can track the current context //if (Device.RuntimePlatform == Device.Android) // { //ZXing.Mobile.MobileBarcodeScanner.Initialize(Application); //} var scanPage = new ZXingScannerPage(); //string results=""; scanPage.Title = "Please Scan barcode"; scanPage.OnScanResult += (result) => { // stop scanning scanPage.IsScanning = false; // show scan result Device.BeginInvokeOnMainThread(() => { App.barcode = result.Text; //DisplayAlert("Scanned Barcode", result.Text, "OK"); //DisplayAlert("Scanned Barcode from APP", App.barcode, "OK"); Navigation.PopAsync(); }); }; // go to scan page await Navigation.PushAsync(scanPage); Device.StartTimer(new TimeSpan(0, 0, 1), () => { if (App.barcode == null) return true; else { var result = App.barcode; bar.Text = result; SearchBarcodeAsync(); return false; } }); }
public async Task Capturar() { scanPage = await Util.CapturarQRCodeAsync(scanPage, "Escanear código", ZXing.BarcodeFormat.QR_CODE); if (!iniCapt) { //configura apenas uma vez o evento de capturar scanPage.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(async() => { try { //Se há alguma mensagem a exibir é interrompido a captura do QRcode if (exibindoMsg) { return; } scanPage.IsScanning = false; if (!string.IsNullOrEmpty(CodigoCapturado)) { return; } Util.Vibrar(); CodigoCapturado = result.Text; await Navigation.PopAsync(); } catch (Exception ex) { exibindoMsg = true; await this.DisplayAlert("ATENÇÃO", "Código inválido! Tente Novamente", "OK"); exibindoMsg = false; //ñ necessario //throw; } }); }; iniCapt = true; } //sem codigo CodigoCapturado = ""; //Abre a tela de captura await Navigation.PushAsync(scanPage); }
private async void ScanQR_Clicked(object sender, EventArgs e) { var scanPage = new ZXingScannerPage(); scanPage.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(async() => { await Navigation.PushModalAsync(new MainPage(result.Text)); }); }; await Navigation.PushModalAsync(scanPage); }
private async void Handle_Clicked(object sender, EventArgs e) { var scan = new ZXingScannerPage(); await Navigation.PushAsync(scan); scan.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(async() => { await Navigation.PopAsync(); mycode.Text = result.Text; }); }; }
private async void Scan_Clicked(object sender, EventArgs e) { var scan = new ZXingScannerPage(); await Navigation.PushAsync(scan); scan.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(async() => { await Navigation.PopAsync(); Find(Int32.Parse(result.ToString())); }); }; }
//icon in screen and decide what to do by check the call uri async void IconTapped(object sender, EventArgs e) { loading.IsVisible = true; try { if (menuItems.Id == "FuelCost") { await Navigation.PushAsync(new RefuelEntry(menuItems.Name)); } else if (menuItems.Id == "LogBook") { await Navigation.PushAsync(new LogEntry("", menuItems.Name)); } else { var scanPage = new ZXingScannerPage(); await Navigation.PushAsync(scanPage); scanPage.OnScanResult += (result) => { Device.BeginInvokeOnMainThread(async() => { if (menuItems.Id == "JobList" && Ultis.Settings.App == "asolute.Mobile.AILSHaulage") { scanPage.PauseAnalysis(); var content = await CommonFunction.CallWebService(0, null, Ultis.Settings.SessionBaseURI, ControllerUtil.addJobURL(result.Text), this); clsResponse response = JsonConvert.DeserializeObject <clsResponse>(content); if (response.IsGood) { Ultis.Settings.RefreshListView = "Yes"; GetListData(); displayToast("Job added to job list."); } scanPage.ResumeAnalysis(); } else { await Navigation.PopAsync(); searchBar.Text = result.Text; } }); }; } loading.IsVisible = false; } catch (Exception ex) { await DisplayAlert("Error", ex.Message, "OK"); } }
/// <summary> /// Scan continuously /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void ScanContinuouslyButton_Clicked(object sender, EventArgs e) { scanPage = new ZXingScannerPage(new ZXing.Mobile.MobileBarcodeScanningOptions { DelayBetweenContinuousScans = 3000 }); scanPage.OnScanResult += (result) => { scanPage.IsScanning = false; Device.BeginInvokeOnMainThread(() => { DisplayAlert("Scanned Barcode", result.Text, "OK"); }); }; await Navigation.PushAsync(scanPage); }
private async void Scanner(string option, string code = "") { Connected(); var scannerPage = new ZXingScannerPage(); scannerPage.Title = "Escaneando paquete"; scannerPage.OnScanResult += (result) => { scannerPage.IsScanning = false; Device.BeginInvokeOnMainThread(() => { Navigation.PopAsync(); Loader(true); if (CrossVibrate.IsSupported && CrossVibrate.Current.CanVibrate) { CrossVibrate.Current.Vibration(new TimeSpan(0, 0, 0, 15)); } string uri = ""; if (option == "back") { uri = "api/paquete/retroceder"; } else if (option == "next") { uri = "api/paquete/avanzar"; } else { uri = "api/paquete/entregacliente"; } //DisplayAlert("Error", ApiReset.changeStatePack(uri, result.Text, oUser.Id.ToString(), oUser.Token, code), "OK"); response res = ApiReset.changeStatePack(uri, result.Text, oUser.Id.ToString(), oUser.Token, code); if (!res.status) { Page("home"); DisplayAlert("Error", res.body, "OK"); Loader(false); } else { Page("home"); DisplayAlert("Listo!", "El paquete abanzo corectamente", "OK"); Loader(false); } }); }; await Navigation.PushAsync(scannerPage); }
public MiniHacksDetailsPage(MiniHack hack) { InitializeComponent(); ItemId = hack.Name; _extension = DependencyService.Get <IPlatformSpecificExtension <MiniHack> >(); BindingContext = vm = new MiniHackDetailsViewModel(hack); ButtonFinish.Clicked += ButtonFinish_Clicked; if (string.IsNullOrWhiteSpace(hack.GitHubUrl)) { MiniHackDirections1.IsEnabled = false; MiniHackDirections1.Text = "Directions coming soon"; MiniHackDirections2.IsEnabled = false; MiniHackDirections2.Text = "Directions coming soon"; } scanPage = new ZXingScannerPage(new MobileBarcodeScanningOptions { AutoRotate = false, }) { DefaultOverlayTopText = "Align the barcode within the frame", DefaultOverlayBottomText = string.Empty }; scanPage.OnScanResult += ScanPage_OnScanResult; scanPage.Title = "Scan Code"; var item = new ToolbarItem { Text = "Cancel", Command = new Command(async() => { scanPage.IsScanning = false; await Navigation.PopAsync(); }) }; if (Device.OS != TargetPlatform.iOS) { item.Icon = "toolbar_close.png"; } scanPage.ToolbarItems.Add(item); }