8

Ho iniziato a implementare l'API di Google Location utilizzando this tutorial.API di localizzazione di Google: richiede aggiornamenti di posizione con intento in sospeso?

Sono riuscito a farlo funzionare correttamente nella mia applicazione, aggiorna la mia posizione agli intervalli giusti ecc. Ora sto lavorando su come aggiornare la mia posizione quando il dispositivo è in modalità di sospensione. Secondo il documentation, questo metodo è la strada da percorrere:

public void requestLocationUpdates (LocationRequest request, PendingIntent callbackIntent); 

La mia domanda è: come faccio a impostare questo PendingIntent, e come posso gestire la cosa? Ho visto tutorial su come gestire altri tipi di intenti, ma non sono sicuro di come applicarli a questo.

risposta

4

è possibile registrare Broardcast Reciever o attività attraverso attesa intent.Sample Esempio per la registrazione boardcast ricevitore:

String proximitys = "ACTION"; 
    IntentFilter filter = new IntentFilter(proximitys); 
    registerReceiver(mybroadcast, filter); 
    Intent intent = new Intent(proximitys); 
    PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0, 
      intent, PendingIntent.FLAG_CANCEL_CURRENT); 
    locationManager.requestLocationUpdates(provider, mintime, mindistance, 
      proximityIntent); 

tuo Broardcast Reciever:

public class ProximityIntentReceiver extends BroadcastReceiver { 

    @SuppressWarnings("deprecation") 
    @Override 
    public void onReceive(Context arg0, Intent intent) { 
      //action to be performed 
    } 
+0

Grazie per la vostra risposta rapida! Tuttavia, ho alcune domande sul codice. Che cosa è esattamente "mybroadcast" e dove lo dichiarate? E non sto usando un LocationManager ma un LocationClient, questo codice funzionerà comunque? – HigiPha

+0

scusa ho dimenticato di menzionare mybroadcast è il BroadcastReceiver che vuoi ascoltare non ho mai lavorato sul client di posizione, ma se sei in grado di passare l'intenzione in sospeso dovrebbe funzionare :) –

+0

Ho provato e aggiorna la posizione come LocationListener: funziona correttamente quando lo schermo è acceso, ma quando lo metto in modalità di sospensione, o andare alla schermata iniziale e avviare altre applicazioni, non aggiornerà la posizione, purtroppo =/ – HigiPha