I'd like to create an Android app that detects when a person enters a specific place (it can be a shop or a different public place). I know how to create an Android app that gets the phone's geolocation both by using the GPS provider and the Network provider, but I wonder if basing my app only on geolocation would be a good direction to follow for the project... With this method, I could create a background service that gets the phone location every 5 minutes just so I can determine if the phone is within a range of geolocation. The problem I see with this method is that GPS location is not very precise inside closed places...
I also have the option of installing a different hardware that communicates with the phone when it arrives in the place, like a WiFi or Bluetooth device with a specific MAC address. Even though this method seems to be more stable, I'd rely on the phones having their WiFi or Bluetooth activated all the time, which is a bad thing.
I'd like suggestions on how to approach this problem... I see that Google knows the location I've been because it sends me messages when I go to a specific restaurant. Is there a way to replicate a system like that on my own app? What would be an architecture that allows me to know when a phone got inside a specific place without relying on turned on sensors on the phone?
I also have the option of installing a different hardware that communicates with the phone when it arrives in the place, like a WiFi or Bluetooth device with a specific MAC address. Even though this method seems to be more stable, I'd rely on the phones having their WiFi or Bluetooth activated all the time, which is a bad thing.
I'd like suggestions on how to approach this problem... I see that Google knows the location I've been because it sends me messages when I go to a specific restaurant. Is there a way to replicate a system like that on my own app? What would be an architecture that allows me to know when a phone got inside a specific place without relying on turned on sensors on the phone?