Я регистрирую геозону следующим образом:
GeofencingClient client = LocationServices.getGeofencingClient(context);
GeofencingRequest.Builder builder = new GeofencingRequest.Builder();
builder.setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER);
builder.addGeofence(new Geofence.Builder()
.setRequestId(buildRequestId(objectId))
.setCircularRegion(location.getLatitude(), location.getLongitude(), 500)
.setExpirationDuration(Geofence.NEVER_EXPIRE)
.setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER | Geofence.GEOFENCE_TRANSITION_EXIT)
.build());
client.addGeofences(builder.build(), PendingIntent.getService(context, objectId,
new Intent(context, HomeGeofenceService.class).putExtra(KEY_OBJECT_ID, objectId), PendingIntent.FLAG_UPDATE_CURRENT)).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
ObjectManager.getInstance(objectId).setLocationNotifEnabled(false);
ObjectManager.save();
int statusCode = -1;
if (e instanceof ApiException)
statusCode = ((ApiException) e).getStatusCode();
context.sendBroadcast(new Intent(UiConstants.ACTION_GEOFENCE_ERROR).putExtra(KEY_CODE, statusCode));
}
});
Сервис в манифесте:
<service android:name=".services.HomeGeofenceService"/>
play services version: implementation 'com.google.android.gms:play-services-location:15.0.1'
Сервис:
public class HomeGeofenceService extends IntentService {
public HomeGeofenceService() {
super(HomeGeofenceService.class.getSimpleName());
}
protected void onHandleIntent(Intent intent) { /***some code**/ }
}
Список разрешений:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
targetSdkVersion 27
Этот код нормально работал в нашем приложении с 19 апреля.Может ли этот вопрос быть связан с тем, что мы находимся в российском регионе?Со всеми запретами IP.Или, может быть, здесь есть какая-то другая проблема?