public Task <bool> SignInWithGoogle() { Log.Debug("TOOLBELT", "Signing in with Google"); var activity = MainActivity.Instance; var listener = new ActivityResultListener(activity); Log.Debug("TOOLBELT", "Starting google login activity"); var googleIntent = new Intent(activity, typeof(GoogleLoginActivity)); activity.StartActivityForResult(googleIntent, REQ_AUTH); return(listener.Task.ContinueWith(t => { if (t.IsCompletedSuccessfully && !string.IsNullOrWhiteSpace(t.Result)) { return SignInWithGoogle(t.Result); } if (t.Exception != null) { Log.Error("TOOLBELT", t.Exception.ToString()); this.Log().ErrorException("Error signing in with Google", t.Exception); } return Task.FromResult(false); }).Unwrap()); }
public void ShowInit(string clientToken) { var activity = (MainActivity)Forms.Context; var listener = new ActivityResultListener(activity, null); var request = new DropInRequest().ClientToken(clientToken); activity.StartActivityForResult(request.GetIntent(Forms.Context), 1); }
public Task <bool> ShowPay(string clientToken, int bookingId) { var activity = (MainActivity)Forms.Context; var listener = new ActivityResultListener(activity, bookingId); var request = new DropInRequest().ClientToken(clientToken); activity.StartActivityForResult(request.GetIntent(Forms.Context), 1); return(listener.Task); }
protected override async Task <bool> EnableDeviceLocationService() { var context = Forms.Context; var activity = (MainActivity)context; var listener = new ActivityResultListener(activity); var googleApiClient = new GoogleApiClient.Builder(activity).AddApi(LocationServices.API).Build(); googleApiClient.Connect(); var locationRequest = LocationRequest.Create(); locationRequest.SetPriority(LocationRequest.PriorityHighAccuracy); locationRequest.SetInterval(10000); locationRequest.SetFastestInterval(10000 / 2); var builder = new LocationSettingsRequest.Builder().AddLocationRequest(locationRequest); builder.SetAlwaysShow(true); var result = LocationServices.SettingsApi.CheckLocationSettings(googleApiClient, builder.Build()); result.SetResultCallback((LocationSettingsResult callback) => { switch (callback.Status.StatusCode) { case LocationSettingsStatusCodes.Success: { break; } case LocationSettingsStatusCodes.ResolutionRequired: { try { // Show the dialog by calling startResolutionForResult(), and check the result // in onActivityResult(). callback.Status.StartResolutionForResult(activity, REQUEST_CHECK_SETTINGS); } catch (IntentSender.SendIntentException e) { } break; } default: { // If all else fails, take the user to the android location settings activity.StartActivity(new Intent(Android.Provider.Settings.ActionLocationSourceSettings)); break; } } }); return(await listener.Task); }
public Task <string> ChoosePhoneNumber() { //request code to identify intent var requestCode = 0xCA; var activityListener = new ActivityResultListener(MainActivity.Instance, requestCode); var contactPickerIntent = new Intent(Intent.ActionPick); contactPickerIntent.SetType(ContactsContract.CommonDataKinds.Phone.ContentType); MainActivity.Instance.StartActivityForResult(contactPickerIntent, requestCode); return(activityListener.Task); }
public async Task <string> OpenGatewayPage(string url) { var activity = (MainActivity)CrossCurrentActivity.Current.Activity; var listener = new ActivityResultListener(activity); Intent intent = new Intent(CrossCurrentActivity.Current.Activity, typeof(PayTransferActivity)); intent.PutExtra("url", url); activity.StartActivityForResult(intent, 2); return(await listener.Task); }
public Task <bool> EnableBt() { try { if (!BtIsEnable()) { var listener = new ActivityResultListener(); MainActivity.Instance.StartActivityForResult(new Intent(BluetoothAdapter.ActionRequestEnable), REQUEST_ENABLE); return(listener.Task); } return(Task.FromResult(true)); } catch (Exception ex) { Android.Util.Log.Error("TEST", "Enable BT error, ex=" + ex.Message); } return(Task.FromResult(false)); }
public Task <string> ReadQRCode() { string result; var activity = (MainActivity)Forms.Context; var listener = new ActivityResultListener(activity); const int RequestEnableBt = 2; //var intent = new Intent(BluetoothAdapter.ActionRequestEnable); var intent = new Intent(Forms.Context, typeof(QRCodeReaderAcitivty)); activity.StartActivityForResult(intent, RequestEnableBt); return(listener.Task); /*var intent = new Intent(Forms.Context, typeof(QRCodeReaderAcitivty)); * Forms.Context.StartActivity (intent); * ((Activity)Forms.Context).StartActivityForResult(intent,101); * return null;*/ }
public Task <bool> EnableGps() { try { var locationManager = (LocationManager)Android.App.Application.Context.GetSystemService(Context.LocationService); if (!GpsIsEnable()) { var listener = new ActivityResultListener(); MainActivity.Instance.StartActivityForResult(new Intent(Android.Provider.Settings.ActionLocationSourceSettings), REQUEST_ENABLE); return(listener.Task); } return(Task.FromResult(true)); } catch (Exception) { Android.Util.Log.Error("TEST", "Enable GPS error"); } return(Task.FromResult(false)); }