async void OnBindButtonClicked(object sender, EventArgs args) { try { string qrCode = await CommonTasks.GetQRCodeAsync(); if (qrCode == null) { return; } else { string publicKey; Settings.BindControlPanel(qrCode); Settings.GetPublicKey(out publicKey); string fingerprint = Settings.PublicKeyToFingerprint(publicKey); await DisplayAlert("Device bound", "Device with fingerprint " + fingerprint + " is successfully bound.", "OK"); Navigation.InsertPageBefore(new RemoteScreenPage(), this); await Navigation.PopAsync(true); } } catch (Exception e) { await DisplayAlert("Error", "Binding failed", "OK"); } }
async void OnBindButtonClicked(object sender, EventArgs args) { try { #if __ANDROID__ var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Camera); if (status != PermissionStatus.Granted) { var results = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Camera); if (results.ContainsKey(Permission.Camera)) { status = results[Permission.Camera]; } } if (status != PermissionStatus.Granted) { await DisplayAlert("Camera permission denied", "Please enable camera permission for this app.", "OK"); return; } #endif string qrCode = await CommonTasks.GetQRCodeAsync(); if (qrCode == null) { return; } else { string publicKey; Settings.BindControlPanel(qrCode); Settings.GetPublicKey(out publicKey); string fingerprint = Settings.PublicKeyToFingerprint(publicKey); await DisplayAlert("Device bound", "Device with fingerprint " + fingerprint + " is successfully bound.", "OK"); Navigation.InsertPageBefore(new RemoteScreenPage(), this); await Navigation.PopAsync(true); } } catch (Exception e) { await DisplayAlert("Error", "Binding failed", "OK"); } }