【发布时间】:2020-05-20 02:00:57
【问题描述】:
我正在使用华为定位工具获取设备位置,发现定位结果不稳定。
我有两个测试设备:Mate 30 和 P30 Lite。当我在 Mate 30 上使用 getLastLocation() 方法获取设备位置时,位置结果为空。但是,该方法可以在 P30 Lite 上正确获取设备位置。 HMS Core (APK) 已在两台测试设备上更新至 4.0.3.316 版本。两个测试设备获取设备位置的代码也是一样的,如下所述:
private void getLastLocation() {
try {
Task<Location> lastLocation = mFusedLocationProviderClient.getLastLocation();
lastLocation.addOnSuccessListener(new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if (location == null) {
LocationLog.i(TAG, "getLastLocation onSuccess location is null");
return;
}
LocationLog.i(TAG,
"getLastLocation onSuccess location[Longitude,Latitude]:" + location.getLongitude() + ","
+ location.getLatitude());
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
LocationLog.e(TAG, "getLastLocation onFailure:" + e.getMessage());
}
});
} catch (Exception e) {
LocationLog.e(TAG, "getLastLocation exception:" + e.getMessage());
}
}
为什么会这样?
【问题讨论】:
-
您使用的是什么位置库? Google 的图书馆?
-
@deadfish 我正在使用华为库定位,4.0.3.303版本。
-
您是否向 HMS Core 授予了位置权限?
标签: android huawei-mobile-services huawei-location-kit