我正在实现一个使用locationmanager获取设备当前纬度和经度的简单应用。我使用下面的代码:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
if (location != null){
latti = location.getLatitude();
longi = location.getLongitude();
Toast.makeText(this,"Lat: "+latti+"Lng"+longi,Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this,"null",Toast.LENGTH_LONG).show();
}
问题是,即使我已经转向GPS并且有互联网连接,此代码也始终为空。但是,如果我首先打开谷歌地图应用程序并搜索我当前的位置然后打开我的应用程序,那么上面的代码显示正确的纬度和经度。
我使用了stackoverflow和其他网站上的大量代码,但都有相同的问题。 有人可以帮忙吗?