I am getting an error in the onAddGeofencesResult(int statusCode, String[] geofenceRequestIds)
callback with statusCode = 1000
.
I have my GPS enabled and my WiFi. I also have Google Play Services and I am able to track my location and request updates. Why am I not able to add geofences? I am not able to add geofences even from the documentation sample app. I get the following Toast message:
"Add Geofences: Failure, error code 1000 GeofenceRequestIds=[1,2,1,2]"
From the documentation (statusCode 1000):
public static final int GEOFENCE_NOT_AVAILABLE
Geofence service is not available now. Typically this is because the user turned off location access in settings > location access.
Constant Value: 1000 (0x000003e8)
You get GEOFENCE_NOT_AVAILABLE
(code '1000') when user disagrees to "Use Google' location services" in Settings->Location->Mode:
To fix it:
- go to Settings->Location->Mode
- set "Device only (Use GPS to determine your location)"
- set any other option to get the popup (e.g. "High accuracy (Use GPS, Wi-Fi and mobile networks to determine location")
- dialog ""Use Google' location services" is shown
- choose "Agree"
I was getting the statusCode 1000 when i was trying to run this app on the emulator. The thing which fixed this was to go in Settings-> locations and access-> Check the enable wifi and gps option on the emulator and it will fix it
Is a little later, but just now I had this issue. My guess is:
you are using any kind of fake GPS on your tests (Lockito, emulator, etc)?
I take some hours until I find out that the fake locations seems to disable the Geofence support! You cannot register or trigger a Geofence if you are not really in the location.
If you turn off the fake GPS,the Geofence support become enabled again.
You actually gave the answer in your question:
Geofence service is not available now. Typically this is because the user turned off location access in settings > location access.
I had this same issue, and just going to settings --> location and making sure I select the mode for high accuracy fixed this issue.
PS Device only mode is not good enough, it needs to be High accuracy mode.
Hope this helps.
First of all your phone must be compatible:
A compatible Android device that runs Android 2.2 or higher and includes Google Play Store.
Just to be sure, you need to have Google Play service installed correctly.
Sometimes, just restarting your phone can fix this problem.
Hope this help.
I did silly mistake:
Error occurred because Device does not have Permission for GPS (Location service).
More details on Geofencing API here.
Screen shots for reference:
Hope this will make you clear.