Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get the user Home/Work location for a user in Android

Im developing an app that brings the user a quick list of "info" items but i want to set an options so that he receives this items as notifications when he is leaving home or work.

I noticed (using google now on my device) that they can tell where the user lives and works so that they can push you notifications whenever you leave or arrive at one of this places (a sort of if this then that).

Is there any way yo obtain the coordinates (lat and long) that Google Now (they come from google maps) uses for this?. I mean something like (GoogleMapsApi > GetFavorite Locations > Get Home Location > Get coordinates > use them in my app).

If there is, can you point me to an example, tutorial, or code that does this.

Thanks in Advance.

like image 692
LordSidious Avatar asked Sep 10 '25 23:09

LordSidious


2 Answers

You can use a free sdk called Neura, which has a learning phase for detecting your significant places such as home, work, gym, grocery store, restaurants, etc.

Plus, and a big plus - it can notify your application when your user arrives/leaves specific place you define in advanced.

This suits your needs exactly, for this example, let's talk about home :

  1. Finding your home :
    • The Neura sdk detects your home within few days, since the system needs to learn your habits and whereabouts. So, when you're sleeping at a place for few days, hanging out there as well, interact with devices at a place -> there's a solid indication that this place is your home.
    • If you don't want to wait few days, you can also display a dialog to your user to tell him to set his home, which is NOT so much intelligent, i have to admit, but with this sdk you can show your user a picker asking him to select his home.
  2. You can request that Neura will notify to your user (via Google Cloud Messaging) when he arrived home for example.
  3. Display your list of infos when you receive a push for 'userArrivedHome'.

You can check out this project on git, doing exactly as i described, for :

  1. Find your user home address
  2. Mute/unmute the phone when user arrives/leaves work respectively.
  3. Receiving an event when user arrives/leaves home.

Feel free to take these projects and do as you please with it.

For finding your user home address project, here's the outcome of the application: home_detection

like image 67
Dus Avatar answered Sep 12 '25 14:09

Dus


You could detect Wifis and assign them to a place (Home/Work)

(I have never tried anything like this but this might help: http://developer.android.com/reference/android/net/wifi/WifiManager.html#startScan(), http://developer.android.com/reference/android/net/wifi/WifiManager.html#getScanResults())

like image 21
Damian Jäger Avatar answered Sep 12 '25 14:09

Damian Jäger