Java 在前台服务中获取gps坐标
我已经实现了一个服务,在这个服务中,我需要获取坐标并将它们发送到服务器。即使在打瞌睡模式下,该服务也应该工作。我打瞌睡解决了这个问题。但是,如果设备被阻止,将向服务器发送相同的坐标。我使用fusedlocationproviderclient。getLastLocation。这就是它发送最后一个坐标的原因。该服务通过AlarmManager工作,它调用onStartCommand,并调用方法获取坐标并将其发送到服务器。有没有一种不需要回调的实现方法。 如何使它在调用该方法时获得新的坐标? 我的方法:Java 在前台服务中获取gps坐标,java,android,android-gps,fusedlocationproviderapi,Java,Android,Android Gps,Fusedlocationproviderapi,我已经实现了一个服务,在这个服务中,我需要获取坐标并将它们发送到服务器。即使在打瞌睡模式下,该服务也应该工作。我打瞌睡解决了这个问题。但是,如果设备被阻止,将向服务器发送相同的坐标。我使用fusedlocationproviderclient。getLastLocation。这就是它发送最后一个坐标的原因。该服务通过AlarmManager工作,它调用onStartCommand,并调用方法获取坐标并将其发送到服务器。有没有一种不需要回调的实现方法。 如何使它在调用该方法时获得新的坐标? 我的方
private void addListenerLocation()
{
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
fusedLocationProviderClient.getLastLocation().addOnCompleteListener(new OnCompleteListener<Location>() {
@Override
public void onComplete(@NonNull Task<Location> task) {
Location location = task.getResult();
if (location != null) {
currentLon = location.getLongitude()currentLat = location.getLatitude();
}
}
});
}
private void addListenerLocation()
{
if(ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS\u FINE\u LOCATION)==PackageManager.permission\u已授予)
fusedLocationProviderClient.getLastLocation().addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
位置=task.getResult();
如果(位置!=null){
currentLon=location.getLength()currentLat=location.getLatitude();
}
}
});
}