我正在使用OneSignal在我的应用中处理推送通知,并且我正在使用" play-services-maps"。当我尝试getLastKnownLocation时,它总是返回null。我的版本不匹配"播放服务地图"在我的Gradle文件中,所以我强制Gradle使用特定版本。
implementation('com.google.android.gms:play-services-maps:15.0.1') {
force = true
}
但问题仍然存在,当我调用该方法时:
public Location getLastKnownLocation() {
mLocationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
List<String> providers = mLocationManager.getProviders(true);
Location bestLocation = null;
for (String provider : providers) {
Location l = mLocationManager.getLastKnownLocation(provider);
if (l == null) {
continue;
}
if (bestLocation == null || l.getAccuracy() < bestLocation.getAccuracy()) {
// Found best last known location: %s", l);
bestLocation = l;
}
}
return bestLocation;
}
始终返回null。 我也在另一个项目中试过这个方法,一切正常。 添加了所有权限,我也处理了运行时权限。