I am building an app that simply adds a Geofence and sends a notification to the user when he reaches the location and when he exits the location.
Its all working fine even if the application is closed. But what i noticed is that broadcast receiver only triggers when there is an application (example Google Maps) running and fetching my location
Is there a way to bypass this behavior without any user interaction and without needing to have a foreground service running all the time in background fetching my location?
No you cant do that without foreground process. Only suggestion I could give is to optimize the process not to receive so frequently so you could save users battery. I could not recommend anything in more details without code. So just high level overview. But hope it helps.