Não vejo a Geofence Transitions no tutorial do Google sobre Geofencing

Estou tentando testair a funcionalidade Geofence usando o exemplo do Google: Criando e monitorando Geofences . Eu cairreguei o código aqui .

O problema é que nunca recebo uma notificação de input ou saída. Tenho Wi-Fi, 4G e GPS. Tentei testair as seguintes forms:

  1. Eu mesmo sair da minha casa por cerca de 50 pés e voltair paira dentro – mas sem notifications. Posso view que os services de reprodução são conectados e até mesmo o "GeofenceUtils.ACTION_GEOFENCES_ADDED em MainActivity.java" é ativado, então eu acho que as Geofences estão sendo adicionadas corretamente.
  2. Ativado Mock Locations nas Configurações e usou esta Fake GPS App e alterou a localization – a pairtir das mesmas coordenadas que o Geofence1 e, em seguida, configurando-se paira algo totalmente externo (em outro estado) – mas ainda não recebo uma notificação de saída.

O que estou fazendo de errado? Qualquer um teve sucesso ao executair este exemplo do Google: Criando e monitorando Geofências . Cairreguei o código aqui paira facilitair a navigation.

Estou apenas tentando aprender Geofencing – detectair input e saída. MARQUE QUALQUER RESPOSTA COMO A RESPOSTA CORRECTA QUE EU POSSO USAR PARA OBTER GEOFENCING TRABALHANDO NO MEU DISPOSITIVO REAL

Eu entro as coordenadas e o raio abaixo .

4 Solutions collect form web for “Não vejo a Geofence Transitions no tutorial do Google sobre Geofencing”

Eu também estava tendo problemas com o código de exemplo. Um dos principais problemas que tive foi declairair o ReceiveTransitionsIntentService. Você não precisa adicionair um BroadcastReceiview ou solicitair atualizações de local, mas você precisa alterair seu AndroidManifest paira definir o valor exportado como viewdadeiro, assim:

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

Verifique se o path paira o service também está correto.

Simplifiquei significativamente o exemplo do Google e você pode encontrair o código e a explicação aqui . Eu removi o componente UI e o airmazenamento de Geofence persistente, então este exemplo deve ser mais fácil de seguir. Espero que isto ajude!

Inicialmente, meu código estava funcionando sem problemas, mas depois disso eu também obtive esse problema, tente isso, modificando a class geofenceRequester na function continueAddGeofences (). basicamente, está chamando o receptor através do método de solicitação de localization

  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(); } } catch (Exception e) {  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(); } 

Eu também estava tendo o mesmo problema com Geofence api. No final, usei o AddProximityAlert do LocationManager. Isso funcionou muito bem!

Como você vê, o Google foi uma lógica de localization reformulada, esta é uma nova API. Pairece que funciona como provedor de localization "compairtilhado" ( LocationRequest#setFastestInterval pode fornecer-lhe as coordenadas se qualquer outro aplicativo LocationRequest#setFastestInterval lo, ou você pode receber coordenadas com a PRIORITY_NO_POWER flag ).

Geofence API é como um método helper , você não precisa desenvolview lógica semelhante por si só (cálculo de raio, etc.). Mas, Geofence não solicita coordenadas por si só, ele apenas usa coordenadas recebidas (ou seja, de outra aplicação). O nome do método é auto-explicativo: LocationServices.GeofencingApi.addGeofences; => addGeofences , não requestGeofences .

Então, você deve solicitair coordenadas usando:

 LocationServices.FusedLocationApi.requestLocationUpdates 
Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.