2011-03-02 60 views
0

我已經實現了一個locationListener,我希望每次更改位置以從onLocationChanged方法中調用方法。從位置偵聽器調用方法似乎不起作用!

位置監聽器被實現爲服務中的類。當應用程序處於前臺時,一切似乎都能正常工作,但是當它沒有收到更新時,我會調用該方法,但是在調試後意識到它並未出於某種原因進入該方法。

我LocationListener的:

public class MyLocationListener implements LocationListener {  
     public void onLocationChanged(Location location) { 
      Log.d("----ADS SERVICE LOCATION LISTENER-------", "LOCATION UPDATE"); 
      contactServer(location); 
     } 
     public void onStatusChanged(String s, int i, Bundle b) {    
     } 
     public void onProviderDisabled(String s) { 
     } 
     public void onProviderEnabled(String s) {   
     } 
    } 

而這正是它被卡住......犯規經歷的方法

private void contactServer(Location location){ 

任何想法,爲什麼發生這種情況的身體嗎?我可以把所有的代碼放在onLocationChanged方法中,但它應該真的在一個單獨的方法中,因爲它的時間很長,而且並不真正相關!

+0

您的Log.d()正在執行,但沒有辦法調用contactServer()。何時以及如何開始和停止您的服務? – 2011-03-03 12:29:05

+0

@Reuben Log.d()肯定正在執行......它被打印在日誌中,並且我也調試了它......在contactServer行中放置了一個斷點,並且它在那裏停止了......我開始服務當我啓動應用程序,我暫時沒有停止它! – mixkat 2011-03-03 12:33:37

+0

不要相信你的調試器100%。在你的contactServer()中加入一些Log.d(),檢查它們是否出現... – 2011-03-03 12:41:57

回答

0

根據對問題的評論,問題不在於代碼從未運行,而在於調試器無法讓其通過。