2013-05-09 24 views
0

使用LocationListener在啓動時啓動的服務,然後將位置和設備數據發送到Web服務。當代碼不是服務的一部分時,代碼完美工作,但服務只傳遞第一個位置而不更新。LocationListener服務未更新位置。該怎麼辦?

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    // Define the criteria how to select the location provider -> use 
    // default 
    Criteria criteria = new Criteria(); 
    provider = locationManager.getBestProvider(criteria, false); 
    Location location = locationManager.getLastKnownLocation(provider);  
    // Initialize the location fields 
    if (location != null) { 
      onLocationChanged(location); 
      item.LatitudePhone = f_latitude; 
      item.LongitudePhone = f_longitude; 
      } else { 
      item.LatitudePhone = f_latitude; 
      item.LongitudePhone = f_longitude; 
      } 
    item.Active = false; 
    return item; 
} 

    /* Request updates at startup */ 
// @Override 
    protected void onResume() { 
//  super.onResume(); 
    locationManager.requestLocationUpdates(provider, 400, 1, this); 
    } 

    /* Remove the location listener updates when Activity is paused */ 
// @Override 
    protected void onPause() { 
//  super.onPause(); 
    locationManager.removeUpdates(this); 
    } 

    @Override 
    public void onLocationChanged(Location location) { 
    f_latitude = (float) (location.getLatitude()); 
    f_longitude = (float) (location.getLongitude()); 
    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
    } 

    @Override 
    public void onProviderEnabled(String provider) { 
    Toast.makeText(this, "Enabled new provider " + provider, 
     Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onProviderDisabled(String provider) { 
    Toast.makeText(this, "Disabled provider " + provider, 
     Toast.LENGTH_SHORT).show(); 
    } 
+0

您如何在您的服務中使用它? – buptcoder 2013-05-09 02:23:01

回答

0

如果您使用的是相同的代碼,因爲它是在服務,那麼問題可能是因爲你是在告訴聽者不以的onPause)更新(方法:locationManager.removeUpdates(this);。所以也許在給一個值之後,它會停止更新。嘗試刪除它,以便讓它更新。走着瞧吧。希望這有助於其他人請評論。

+0

不運行,經度和緯度現在都顯示爲零值...我不明白。 – user2233296 2013-05-09 03:37:48

相關問題