harset="UTF-8"> 🛰️ Xamarin: Como localizar dispositivo android

Xamarin: Como localizar dispositivo android


ubicacion o localizacion gp actual xamarin

Como localizar un dispositivo android en Xamarin.

Hoy vamos a explicar lo fácil que es implementar en una app que puedas localizar un dispositivo android es decir, conocer en algún momento la ubicación actual del dispositivo en xamarin.

Como siempre vamos a partir de un proyecto nuevo, en mi caso la llamaré Geolocalización

localizar dispositivo en android con xamarin paso 1

Xamarin.Essentials

Posteriormente hay que instalar el paquete Xamarin.Essentials de Microsoft.

Para ello en el Explorador de Soluciones hacemos clic con el botón derecho sobre nuestra solución, y pulsamos sobre Administrador de paquetes Nuget para la solución.

En el apartado Examinar escribimos Xamarin.Essentials y marcamos para que proyectos lo queréis instalar, en mi caso lo quiero tanto para Android como para IOS.

( Un punto importante, si no os aparece el paquete Xamarin.Essentials aseguraros que tenéis marcada la opción de Incluir versión preliminar).

localizar dispositivo en android con xamarin paso 2

Permisos

Ahora debemos darle los permisos del GPS de nuestro dispositivo.

Editando el archivo AssemblyInfo.cs que se encuentra en en el explorador de soluciones dentro de nuestro proyecto android donde dice Properties.

Una vez localizado el archivo nos vamos al final y añadimos los siguiente quedando como muestro en la imagen:


[assembly: UsesPermission(Android.Manifest.Permission.AccessCoarseLocation)] [assembly: UsesPermission(Android.Manifest.Permission.AccessFineLocation)] [assembly: UsesFeature("android.hardware.location", Required = false)] [assembly: UsesFeature("android.hardware.location.gps", Required = false)] [assembly: UsesFeature("android.hardware.location.network", Required = false)]

localizar dispositivo en android con xamarin paso 3
Por motivos de versiones también necesitaremos marcar estos permisos en el manifiesto de android.

Así que volvemos al explorador de soluciones, botón derecho sobre nuestro proyecto y Propiedades y abajo marcamos:

ACCESS_COARSE_LOCATION , ACCESS_FINE_LOCATION y ACCESS_MOCK_LOCATION

localizar dispositivo en android con xamarin paso 7

Ahora comenzamos con el archivo MainPage.xaml donde pondremos un Button y un Label donde ver el resultado:

localizar dispositivo en android con xamarin paso 4

En el Button podéis ver que hemos metido el evento Clicked que llamará al método OnClick_getCoor que será el encargado de traer las coordenadas del dispositivo hacía el Label:

No vamos al archivo mainPage.xaml.cs e insertamos lo siguiente:

localizar dispositivo en android con xamarin paso 7

Vamos con el mainPage.xaml.cs

Lo primero sería indicarle que vamos a usar el paquete Xamarin.Essentials, para ello lo indicamos con un using en la linea 7

Creamos el método OnClick_getCoor para el evento clic del botón y lo declaramos async para que sea síncrono y pare hasta completar toda la tarea

Nuestro código donde nos vamos a centrar es:

var request = new GeolocationRequest(GeolocationAccuracy.Medium);
var location = await Geolocation.GetLocationAsync(request);
if (location != null)
   {
    misCoordenadas.Text = "Lat: " + location.Latitude + " Long: " + location.Longitude;
   }

 

Usamos un Try-Catch porque si el dispositivo no soporta este recurso, o simplemente si el dispositivo en ese momento no puede facilitarnos su ubicación, nos daría un error de excepción y se nos cerraría.

Instanciamos un objeto request del tipo GeolocationRequest y le decimos el nivel de precisión mediante GeolocationAccuracy que en el ejemplo está en Medium, pero podríais ponerlo en High.

Y después para consultar las coordenadas de ubicación del dispositivo actual ya usamos GetLocationAsync y le pasamos el objeto anterior, le ponemos await ya que el método es asíncrono.

Comprobamos que nuestra consulta no es nula, si no lo es, tan sólo llamamos a location.latitude y a location.Longitude para resolver las coordenadas.

Lo mostramos por consola o como mi caso, lo asigno al valor Text de nuestro label, misCoordenadas.Text

localizar dispositivo en android con xamarin paso 6

Para acabar

Algo importante, según que dispositivo o versión superior a 5.0, es que a veces no salta la notificación de que esta app necesita permisos de localización.

Aunque hemos hecho ambas formas de controlar esto, un consejo es la de asegurarte antes de iniciar la app que en los ajustes de android tu aplicación tiene los permisos de ubicación, para ello:

  • Vete a Ajustes/Aplicaciones/Nombre_Tu_Aplicación/Permisos.

localizar dispositivo en android con xamarin paso 5

Con esto ya puedes localizar un dispositivo android. Espero que te haya ayudado en algo y comenta que tal te ha ido.

Y no olvides calificar este articulo si te ha gustado. 

Puntúa este articulo

Si necesitas algo más de información te remito a la documentación oficial de xamarin para su consulta aquí -> Localizar dispositivo

 

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *