2013-04-23 7 views
25

Sto sviluppando un'applicazione che porta all'utente un rapido elenco di elementi "informazioni" ma voglio impostare un'opzione in modo che egli riceva questi elementi come notifiche quando sta lasciando casa o lavoro.Come ottenere l'utente Home/Luogo di lavoro per un utente in Android

Ho notato (utilizzando Google ora sul mio dispositivo) che possono dire dove l'utente vive e lavora in modo che possano inviarti notifiche ogni volta che esci o arrivi in ​​uno di questi luoghi (una sorta di se questo poi quello) .

Esiste un modo per ottenere le coordinate (lat e long) utilizzate da Google Now (provengono da Google Maps) ?. Intendo qualcosa del tipo (GoogleMapsApi> GetFavorite Locations> Get Home Location> Ottieni coordinate> usali nella mia app).

Se c'è, puoi indicarmi un esempio, tutorial o codice che faccia questo.

Grazie in anticipo.

+0

Hai provato a usare, locationManager = (LocationManager) getSystemService (LOCATION_SERVICE); Utilizzerà il tuo GPS (se integrato nel dispositivo Android) e potrai ottenere Latitude, Longitude. Salva latitudine e longitudine di casa e lavoro. Ogni volta che ottieni un onLocationChanged, fai il tuo lavoro pertinente. – surender8388

+0

sì. so che posso fare questo. ma tu vedi l'idea è di non utilizzare la posizione GPS per 3 motivi. 1. Non voglio una app affamata di batterie 2. Non voglio chiedere all'utente cose come questa è la tua casa? 3. Se non voglio chiedergli che avrò bisogno di un algoritmo complicato che scopra da solo dove è la casa e il lavoro dipende da quanto tempo questi ragazzi passano in ogni posto. Voglio sapere se posso usare le posizioni "Già" calcolate da google per la tua casa e il lavoro (come il fare in google ora). – LordSidious

+0

Non ho alcuna idea di come usi Google algo, ma penso che tu possa avere una logica basata sul tempo. Voglio dire se la sua notte è probabilmente la sua casa, qualcosa del genere. – surender8388

risposta

0

Bene Google Now sta utilizzando un algoritmo complesso come Waze. Noterai inoltre che Google Now ti chiederà se una località è importante dopo un po '. Guarda i luoghi in cui l'utente passa spesso un sacco di tempo. Uno di questi sarà certamente a casa e l'altro funzionerà sicuramente. Basta chiedere la posizione economica in 4.2 e vedere dove sono le tendenze dell'utente.

1

Io non credo che si può ottenere le informazioni dalle API di Google. Come @ surender8388 menziona nei commenti, l'unico modo per farlo è usare la posizione e il tempo.

ACCESS_COARSE_LOCATION è una buona scelta se non si desidera utilizzare il GPS.

0

Ciò che rende Google Now è quello di risparmiare tempo e numero di volte in cui si visita un luogo con le ore nello stesso luogo e reti wireless. Da questi dati, quando hanno raggiunto una certa certezza, chiede all'utente se vuole assegnarlo come casa/lavoro.

5

è possibile utilizzare uno SDK gratuito chiamato Neura, che ha una fase di apprendimento per rilevare i tuoi luoghi significativi come la casa, il lavoro, palestra, negozio di alimentari, ristoranti, ecc

Inoltre, e un grande vantaggio: è in grado di notificare la tua applicazione quando il tuo utente arriva/lascia il posto specifico definito in avanzato.

Questo si adatta alle vostre esigenze esattamente, per questo esempio, parliamo di casa:

  1. Trovare la propria casa:
    • Il Neura sdk rileva la vostra casa entro pochi giorni, dal momento che il sistema ha bisogno di imparare la vostra abitudini e luoghi di sorte.Quindi, quando stai dormendo in un posto per pochi giorni, anche lì fuori, interagisci con i dispositivi in ​​un luogo -> c'è una solida indicazione che questo posto è la tua casa.
    • Se non vuoi aspettare qualche giorno, puoi anche mostrare una finestra di dialogo all'utente per dirgli di impostare la sua casa, che NON è molto intelligente, devo ammettere, ma con questo SDK puoi show your user a picker chiedendogli di selezionare la sua casa.
  2. È possibile richiedere che Neura will notify all'utente (tramite Google Cloud Messaging) quando è arrivato a casa per esempio.
  3. Mostra il tuo elenco di informazioni quando ricevi un push per "userArrivedHome".

È possibile controllare questo progetto su git, fare esattamente come ho descritto, per:

  1. Find your user home address
  2. attivazione/disattivazione volume, rispettivamente, il telefono quando user arrives/leaves work.
  3. Ricezione di un evento quando user arrives/leaves home.

Sentiti libero di prendere questi progetti e di fare ciò che vuoi con esso.

Per trovare il vostro progetto di indirizzo di casa dell'utente, ecco l'esito della domanda: home_detection