サービスに次のコードがあります。
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 はオンになっており、別のアプリでは動作します。