Niv*_*war 5 android android-maps android-location
我正在实现一个模块,需要用户的纬度和经度来离线打卡考勤。
我已经按照LINK上的示例实现了GPSTracker类
但是启用 GPS 定位后,我正在打卡出勤,那么此类将返回空位置对象。但30到60秒后它会正确返回位置对象。
我还在清单中添加了COARSE权限FINE,并获得了运行时权限。
所以我需要帮助如何在启用 GPS 定位后立即获取纬度和经度。
尝试用这个:
FusedLocationProviderClient mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(getActivity());
private void getDeviceLocation() {
try {
Task<Location> locationResult = mFusedLocationProviderClient.getLastLocation();
locationResult.addOnCompleteListener(getActivity(), new OnCompleteListener<Location>() {
@Override
public void onComplete(@NonNull Task<Location> task) {
if (task.isSuccessful()) {
Location mLastKnownLocation = task.getResult();
Log.i(TAG, "==lat "+mLastKnownLocation.getLatitude());
Log.i(TAG, "==log "+mLastKnownLocation.getLongitude());
} else {
Log.d(TAG, "Current location is null. Using defaults.");
Log.e(TAG, "Exception: %s", task.getException());
}
}
});
} catch (SecurityException e) {
Log.e("Exception: %s", e.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)