public void StartLocationUpdates() { var task = mSettingsClient.CheckLocationSettings(mLocationSettingsRequest); task.AddOnSuccessListener(this, new StartLocationUpdatesOnSuccessListener { Activity = this }); task.AddOnFailureListener(this, new StartLocationUpdatesOnFailureListener { Activity = this }); }
public void RequestLocationUpdatesWithCallback() { LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder(); builder.AddLocationRequest(locationRequest); LocationSettingsRequest locationSettingsRequest = builder.Build(); //checking device settings Task locationSettingsTask = locationSettings.CheckLocationSettings(locationSettingsRequest); locationSettingsTask.AddOnSuccessListener(new OnCallbackSettingsSuccessListener(this, fusedLocationProviderClient, locationRequest, locationCallback)). AddOnFailureListener(new OnCallbackSettingsFailureListener(this)); }
private void RequestLocationUpdatesWithIntent() { LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder(); builder.AddLocationRequest(locationRequest); LocationSettingsRequest locationSettingsRequest = builder.Build(); //checking device settings Task locationSettingsTask = settingsClient.CheckLocationSettings(locationSettingsRequest); pendingIntent = CreatePendingIntent(); locationSettingsTask.AddOnSuccessListener(new OnSettingsSuccessListener(this, fusedLocationProviderClient, locationRequest, pendingIntent)). AddOnFailureListener(new OnSettingsFailureListener(this)); }
private void RequestLocationUpdatesWithCallback() { try { LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder(); builder.AddLocationRequest(mLocationRequest); LocationSettingsRequest locationSettingsRequest = builder.Build(); // Before requesting location update, invoke checkLocationSettings to check device settings. Task locationSettingsResponseTask = mSettingsClient.CheckLocationSettings(locationSettingsRequest); locationSettingsResponseTask .AddOnSuccessListener(new LocCallSettOnSuccessListenerImpl(mFusedLocationProviderClient, mLocationRequest, mLocationCallback)) .AddOnFailureListener(new LocCallSettOnFailureListenerImpl(this)); } catch (Exception e) { LocationLog.Error(TAG, "requestLocationUpdatesWithCallback exception:" + e.Message); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_test); _startBtn = FindViewById <Button>(Resource.Id.startBtn); _locationTv = FindViewById <TextView>(Resource.Id.locationTv); _loginBtn = FindViewById <Button>(Resource.Id.loginBtn); _getRecordsBtn = FindViewById <Button>(Resource.Id.getRecordsBtn); _startBtn.Enabled = false; _loginBtn.Enabled = false; if (Build.VERSION.SdkInt >= BuildVersionCodes.Q) { CheckPermission(Android.Manifest.Permission.AccessBackgroundLocation, Android.Manifest.Permission.AccessFineLocation, Android.Manifest.Permission.AccessCoarseLocation, Android.Manifest.Permission.ControlLocationUpdates, Android.Manifest.Permission.Camera, Android.Manifest.Permission.ReadExternalStorage, Android.Manifest.Permission.WriteExternalStorage); } else { CheckPermission(Android.Manifest.Permission.AccessFineLocation, Android.Manifest.Permission.AccessCoarseLocation, Android.Manifest.Permission.ControlLocationUpdates, Android.Manifest.Permission.Camera, Android.Manifest.Permission.ReadExternalStorage, Android.Manifest.Permission.WriteExternalStorage); } _startBtn.Click += delegate { LocationRequest locationRequest = LocationRequest.Create(); locationRequest.SetInterval(10000); locationRequest.SetFastestInterval(5000); locationRequest.SetPriority(LocationRequest.PriorityHighAccuracy); LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder(); builder.AddLocationRequest(locationRequest); SettingsClient client = LocationServices.GetSettingsClient(this); var task = client.CheckLocationSettings(builder.Build()) .AddOnSuccessListener(new SuccessLisenter(async(obj) => { var userIds = new Dictionary <string, string>(); userIds.Add(_userId, _userId); var adding = await ServiceInstances.TripRepository.InsertAsync(new Common.Models.Trip() { Description = "Test trips", UserIds = userIds }); if (adding != null) { _tripId = adding.Id; StartService(_tripId, _userId); } })).AddOnFailureListener(new FailureLisenter((ex) => { if (ex is ResolvableApiException) { try { ResolvableApiException resolvable = (ResolvableApiException)ex; resolvable.StartResolutionForResult(this, 100); } catch (IntentSender.SendIntentException e2x) { // Ignore the error. } } })); }; _loginBtn.Click += async delegate { var authProvider = new FirebaseAuthProvider(new FirebaseConfig("AIzaSyCxjza0PW9fg6y4tPlljkP-iBSwOC0XY6g")); var login = await authProvider.SignInWithEmailAndPasswordAsync("*****@*****.**", "Hello_2020"); if (login != null) { _userId = login.User.LocalId; var firebase = new FirebaseClient( "https://friendloc-98ed3-default-rtdb.firebaseio.com/", new FirebaseOptions { AuthTokenAsyncFactory = () => Task.FromResult(login.FirebaseToken) }); ServiceInstances.TripRepository.Init(firebase); ServiceInstances.UserRepository.Init(firebase); _startBtn.Enabled = true; } }; _getRecordsBtn.Click += async delegate { var res = await ServiceInstances.TripRepository.GetById(_tripId); Console.WriteLine(res.Locations.Values.ToList()[0].CreatedTime); }; }