Я получаю следующий аварийный стек от Crashlytics:
Caused by java.lang.IllegalArgumentException: provider doesn't exist: fused
at android.os.Parcel.readException(Parcel.java:1687)
at android.os.Parcel.readException(Parcel.java:1636)
at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:614)
at android.location.LocationManager.requestLocationUpdates(LocationManager.java:887)
at android.location.LocationManager.requestLocationUpdates(LocationManager.java:536)
at org.traccar.client.PositionProvider.startUpdates(PositionProvider.java:72)
Устройство - Motorola Moto C с Android 7.0
Соответствующие фрагменты исходного кода:
public static Criteria getCriteria(String accuracy) {
Criteria criteria = new Criteria();
switch (accuracy) {
case "high":
criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH);
criteria.setPowerRequirement(Criteria.POWER_HIGH);
break;
case "low":
criteria.setHorizontalAccuracy(Criteria.ACCURACY_LOW);
criteria.setPowerRequirement(Criteria.POWER_LOW);
break;
default:
criteria.setHorizontalAccuracy(Criteria.ACCURACY_MEDIUM);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
break;
}
return criteria;
}
public void startUpdates() {
locationManager.requestLocationUpdates(
interval, 0,
getCriteria(preferences.getString(MainFragment.KEY_ACCURACY, "medium")),
this, Looper.myLooper());
}
IЯ не уверен, что значение accuracy
, но я думаю, что эта ошибка не должна возникать в любом случае.При необходимости полный источник можно найти здесь .
Почему это происходит?В документации Android это не указано как возможный сценарий исключения при вызове метода requestLocationUpdates
.