我正在使用Android开发应用程序。我使用“位置和位置管理器”获取当前位置,但是如果我在应用执行时关闭并打开GPS,则location.getLastKnownLocation
返回null。这是代码。
@Override
public void onClick(View view) {
if(!checkGPSEnabled()){
dialogCheckGPS();
}else{
Intent i =new Intent(getApplicationContext(), ZoneUser.class);
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location==null)
Toasty.success(getApplicationContext(),"Es null").show();
Bundle bundle = new Bundle();
bundle.putDouble("lat",location.getLatitude());
bundle.putDouble("lng",location.getLongitude());
i.putExtras(bundle);
startActivity(i);
}
}
我使用Intent
和Bundle
来获取另一项活动的经度和纬度,但是位置返回null。
谢谢。