我有一個片段:的Android onLocationChanged停止被稱爲
public class myMap extends Fragment implements LocationListener
{
// do all the usual stuff
@Override
public void onResume()
{
super.onResume();
if(mIsGPSEnabled)
{
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 10, this);
}
// and of course a bit more of code I am skipping
}
@Override
public void onLocationChanged(Location location) {
Toast.makeText(getActivity(), "location changed " + location.getLatitude() + " " + location.getLongitude(), Toast.LENGTH_LONG).show();
}
我注意到以下行爲:
- 的onResume總是得到最後已知的位置工作正常。
- 在應用我的通知欄上的開始我看到GPS這個小圖標是
- 一段時間後,我得到了onLocationChanged稱爲第一次(到目前爲止一切都很好)
- 現在很少GPS圖標從通知欄中消失,onLocationChanged不再被調用。該應用程序是在任何時候都於地面
- 我從來沒有註銷(現在)我的位置變化監聽
- 我把我的應用程序的底色,並開始例如osmand(導航軟件),而該軟件運行時我看到我在onLocationChanged上爲每一次更新敬酒,按照應該的方式工作。
任何想法?
你確定它沒有請求更新你有最少的請求時間設置爲1分鐘,所以你不會得到一分鐘的更新至少 – JRowan
是的,我相信,等待15分鐘在城鎮散步... – AndyAndroid
你測試在HTC Hero上? – Smile2Life