No ver Geofence Transitions en el tutorial de Google sobre Geofencing

Estoy intentando probar la funcionalidad de Geofence usando el ejemplo de Google: Crear y supervisar Geofences . He subido el código aquí .

El problema es que nunca recibo una notificación de entrada o salida. Tengo Wifi, 4G y GPS encendido. He intentado probar de las siguientes maneras:

  1. Incluso salir de mi casa por unos 50 pies y volver a pie – pero no las notificaciones. Puedo ver que los servicios del juego se conectan e incluso el "GeofenceUtils.ACTION_GEOFENCES_ADDED en MainActivity.java" consigue accionado, así que pienso que los Geofences se agregan correctamente.
  2. Habilitar las ubicaciones de simulacros en los ajustes y utilizar esta aplicación GPS falsa y cambiar la ubicación – a partir de las mismas coordenadas que el Geofence1 y, a continuación, establecer algo totalmente fuera (en otro estado) – pero todavía no recibe una notificación de salida.

¿Qué estoy haciendo mal? Alguien tuvo éxito en la ejecución de este ejemplo de Google: Crear y supervisar Geofences . He subido el código aquí para una fácil navegación.

Sólo estoy tratando de aprender Geofencing – detección de entrada y salida. MARCARÉ NINGUNA RESPUESTA COMO LA RESPUESTA CORRECTA QUE PUEDO UTILIZAR PARA OBTENER LA GEOFENCACIÓN TRABAJANDO EN MI DISPOSITIVO REAL

Ingreso las coordenadas y el radio abajo .

También tenía problemas con el código de ejemplo. Uno de los principales problemas que tuve fue declarar el ReceiveTransitionsIntentService. No es necesario agregar un BroadcastReceiver o solicitar actualizaciones de ubicación, pero debe cambiar su AndroidManifest para establecer el valor exportado como true:

<service android:name=".ReceiveTransitionsIntentService" android:exported="true" > </service> 

Asegúrese de que la ruta de acceso al servicio también es correcta.

He simplificado el ejemplo de Google de forma significativa y puede encontrar el código y la explicación aquí . He eliminado el componente de interfaz de usuario y el almacenamiento persistente de Geofence, por lo que este ejemplo debería ser más fácil de seguir. ¡Espero que esto ayude!

Initally mi código estaba funcionando suavemente pero después de que yo también consiga este problema, intente por favor modificando la clase de geofenceRequester en la función de continueAddGeofences (). Básicamente está llamando al receptor a través del método de solicitud de ubicación

  private void continueAddGeofences() { // Get a PendingIntent that Location Services issues when a geofence // transition occurs mGeofencePendingIntent = createRequestPendingIntent(); // Send a request to add the current geofences mLocationClient.addGeofences(mCurrentGeofences, mGeofencePendingIntent, this); //mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); try { LocationRequest locationrequest = LocationRequest.create(); locationrequest.setPriority(locationrequest.PRIORITY_HIGH_ACCURACY); locationrequest.setInterval(3000); mLocationClient.requestLocationUpdates(locationrequest, mGeofencePendingIntent); } catch (Exception e) { e.printStackTrace(); } 

Yo también estaba teniendo el mismo problema con Geofence api. Al final, he utilizado addProximityAlert de LocationManager.It funcionó muy bien!

Como se ve, Google fue reformulada lógica de ubicación, esto es nuevo API. Parece que funciona como proveedor de ubicación "compartida" ( LocationRequest#setFastestInterval puede proporcionarle coordenadas si cualquier otra aplicación lo solicita, o puede recibir coordenadas con el PRIORITY_NO_POWER flag ).

Geofence API es como el método de helper , no es necesario desarrollar una lógica similar por sí mismo (cálculo de radio, etc). Sin embargo, Geofence no solicita coordenadas por sí mismo, sólo utiliza coordenadas recibidas (es decir, de otra aplicación). La denominación del método es autoexplicativa: LocationServices.GeofencingApi.addGeofences; => addGeofences , no requestGeofences .

Por lo tanto, debe solicitar coordenadas utilizando:

 LocationServices.FusedLocationApi.requestLocationUpdates 
  • La ubicación de la red Android tarda horas en actualizar la ubicación
  • Comprueba si está habilitado 'Acceso a mi ubicación' - Android
  • Android: ¿Una forma sencilla de hacer una geofence?
  • GetTriggeringGeofences y getGeofenceTransition de LocationServices
  • Obtener el nombre de la ciudad de la latitud y la longitud en androide da servicio no disponible Android 4.0.3?
  • Android O - Old empezar el servicio de primer plano sigue funcionando?
  • RequestLocationUpdates no se actualiza en intervalos en Android
  • Proveedor wifi onLocationChanged nunca se llama
  • Android - cómo obtener la ubicación del amigo
  • Cómo recuperar la ubicación GPS a través de SMS
  • Calcule el rumbo de la brújula / rumbo a la ubicación en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.