我的服务中有以下代码:
LocationManager locationManager =
(LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider =
locationManager.getProvider(LocationManager.GPS_PROVIDER).getName();
Location location = locationManager.getLastKnownLocation(provider);
while(true)
{
if(...)//every 5 seconds it gets into
{
....//control if the location is not null
lat = location.getLatitude();
lon = location.getLongitude();
alt = location.getAltitude();
Log.i(TAG, "Latitude: "+lat+"\nLongitude: "+lon+"\nAltitude: "+alt);
}
else {
Log.i(TAG, "Error!");
}
}
这种代码在我的模拟器中有效(GPS 被插入到Log
),但在我的移动设备中,这段代码会到达else
分支。有人能告诉我问题出在哪里吗?在我的代码中还是在我的移动设备中?提前致谢。
PS:GPS已开启,在其他应用程序中它可以工作。