protected override void Dispose(bool disposing) { base.Dispose(disposing); _fusedLocationProviderClientLastLocationListener?.Dispose(); _fusedLocationProviderClientLastLocationListener = null; _fusedLocationProviderClient?.Dispose(); _fusedLocationProviderClient = null; _latLng?.Dispose(); _latLng = null; }
protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); LoadApplication(new App()); if (HuaweiApiAvailability.Instance.IsHuaweiMobileServicesAvailable(this) != ConnectionResult.Success) { return; } //ActivityCompat.RequestPermissions(this, permissions, 100); // Initialise huawei fused location provider _fusedLocationProviderClientLastLocationListener = new LastLocationListener(location => { switch (location) { case null: GetLocation(); break; default: Toast.MakeText(this, location.ToString(), ToastLength.Long).Show(); //MoveToUserLocation(new LatLng(location.Latitude, location.Longitude)); break; } }, exception => { Toast.MakeText(this, exception.Message, ToastLength.Long).Show(); }); _fusedLocationProviderClient = LocationServices.GetFusedLocationProviderClient(this); Android.Util.Log.Info(TAG, "CheckPermission"); // Get last known location if permissions are granted if (CheckPermission(Permissions, 100)) { GetLastLocation(); } MapsInitializer.Initialize(this); }