Puoi utilizzare l'API Snapshot per ottenere informazioni sull'ambiente attuale dell'utente. Con l'API Snapshot, puoi accedere a una serie di indicatori contestuali:
- Attività utente rilevata, ad esempio quando cammina o guida.
- I beacon nelle vicinanze che hai registrato.
- Stato delle cuffie, collegate o meno.
- Posizione, che include latitudine e longitudine.
Il sistema memorizza nella cache questi valori in modo che possano essere restituiti rapidamente. Se non sono presenti dati, vengono eseguiti il rilevamento e l'inferenza per restituire valori di stato aggiornati. L'API Awareness restituisce il tipo di dati esistente per i tipi di contesto che hanno un'API pubblica.
Ogni segnale contestuale ha un metodo API Snapshot corrispondente. Ad esempio, per
ottenere l'attività rilevata corrente, chiami
getDetectedActivity()
,
utilizzi un SuccessListener
per ottenere un DetectedActivityResponse
,
poi chiami getActivityRecognitionResult()
per restituire un ActivityRecognitionResult
da cui puoi ottenere i dati della richiesta effettiva.
L'esempio seguente mostra come ottenere l'ultima attività rilevata:
Awareness.getSnapshotClient(this).getDetectedActivity()
.addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
@Override
public void onSuccess(DetectedActivityResponse dar) {
ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
}
})
Per saperne di più su cosa puoi fare con i dati delle richieste, consulta Recuperare i dati degli snapshot.