当我长时间打开GPS时,我可以获取当前位置,但是当我关闭然后打开GPS时,它会返回null作为当前位置。我需要刷新或重新安装应用程序才能使当前位置正常工作。几秒钟打开GPS后是否可以获取位置?
这是我的代码:
client = LocationServices.getFusedLocationProviderClient(this);
LocationManager locationManager = (LocationManager)getSystemService(LOCATION_SERVICE);
if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);
finish();
} else {
if (ActivityCompat.checkSelfPermission(MapsActivity.this, ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED ) {
return;
}
client.getLastLocation().addOnSuccessListener(MapsActivity.this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if(location!= null){
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
});
}
我发现我需要使用requestsLoctionUpdates,但我找不到任何教程解释我如何在新版本的android studio中进行操作(位置:11.8.0)。任何人都可以告诉我如何使用这段代码吗?