2015-04-20 41 views
0

我工作在Android applciation,我創建了一個停止LocationListener的服務

LocationListener 

服務在哪裏我的位置發送到服務器,所有的工作,但

stopservice() 

的服務保持運行,有沒有解決這個問題的方法?

回答

0

在服務,只需撥打stopSelf()你與位置更新完成後:

MyLocationService.this.stopSelf(); 

,如果您使用的是過時import android.location.LocationListener或新import com.google.android.gms.location.LocationListener 也根據你需要的服務onDestory刪除更新的位置監聽器或斷開API客戶端:

老:

@Override 
public void onDestroy() { 
if (myLocationListener) { 
myLocationManager.removeUpdates(myLocationListiener); 
} 
} 

新:

@Override 
public void onDestroy() { 
if (myGoogleApiClient) { 
myGoogleApiClient.disconnect(); 
} 
} 
+0

我使用的是進口android.location.LocationListener和我打電話removeUpdates()和同樣的事情沒有工作 – Adams

+0

@Adams,您正在使用的一個已被棄用和谷歌大力鼓勵使用新的gms.location.LocationListener。話雖如此,舊的應該仍然有效。你唯一的問題是你無法停止服務?我假定LocationListener在你自己的服務中(即MyService extends Service)?如果是這種情況,一旦執行MyService.this.stopSelf();它將不再運行。你試過這個嗎? –

+0

@Adams另外我假設你通過調用startSrevide()來啓動服務?如果你是服務的綁定,你需要調用unbindService()而不是stopService()或stopSelf –