Java Android位置管理器崩溃
我从Crashlytics获得以下崩溃堆栈:Java Android位置管理器崩溃,java,android,locationmanager,Java,Android,Locationmanager,我从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
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)
设备-配备安卓7.0的摩托罗拉Moto C
相关源代码片段:
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());
}
我不确定准确度值是多少,但我认为这种错误无论如何都不会发生。如果需要,可以找到完整的源代码
为什么会这样?在调用requestLocationUpdates
方法时,Android文档没有将此列为可能的异常情况