我正在使用GPS。這是我的代碼。getLastKnownLocation返回NULL
public void onCreate()
{
super.onCreate();
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location mLocation;
if(mLocationManager.isProviderEnabled((LocationManager.GPS_PROVIDER)))
{
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER , 2000, 10, myLocationListener);
mLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Temp = updateWithNewLocation(mLocation);
Value.city = Temp;
Temp = "";
LogShow("DataClass.City = " + Value.city);
LogShow("GPS_PROVIDER enable");
}
}
我不知道爲什麼getLastKnownLocation返回NULL。所以updateWithNewLocation將是空的。 我使用權限ACCESS FINE LOCATION。
我該如何解決?
'getLastKnownLocation()'如果認爲位置過於過時將返回空值 – 2013-03-19 07:54:44
@raghav表示的過期getLastKnownLocation(),例如,如果設備已關閉並移動到另一個位置。應該通過請求新的位置更新來獲取新位置。另外,我會建議考慮您的準確度和電池限制,以便繼續使用NETWORK_PROVIDER而不是GPS_PROVIDER – 2013-03-19 08:00:49