2011-06-29 19 views
0

朋友們!如何處理服務重啓android

我真的是一團糟。我是Android服務中的新蜂,並且我沒有獲得有關android服務的有用材料。

我需要的是當我點擊按鈕時,我的服務開始,它有一個方法來上傳活動服務器上的數據並顯示通知。

現在,當我首先按下一個按鈕,它開始我的活動,並執行該方法,但下次我的服務處於運行狀態並上傳一些數據。現在我再次按下按鈕發送一些更多的數據,並將數據放入上傳隊列,在這裏我被困住了,我的on-Start方法沒有被再次調用,所以我的新數據沒有被添加到隊列中。我需要做什麼?

請幫我一些代碼來實現這個朋友

多謝

+0

這只是每按一下按鈕一次性上傳或服務是否持續上傳數據到服務器,直到一個指定的事件? – DeeV

回答

0

嗯...你做了一個服務。如果您的活動完成,該服務仍在運行。這就是onStart不再被觸發的原因。

+0

所以我怎麼能再次觸發它?我不希望我的服務停下來。 – Shah

0

使用bindService如果服務已在運行..

Intent i = new Intent(); 
i.setClassName("com.android.music", "com.android.music.MediaPlaybackService"); 
ServiceConnection conn = new MediaPlayerServiceConnection(); this.bindService(i, conn, 0); 





private class MediaPlayerServiceConnection implements ServiceConnection { 
public IMediaPlaybackService mService; public void onServiceConnected(ComponentName name, IBinder service) { Log.i("MediaPlayerServiceConnection", "Connected! Name: " + name.getClassName()); 
    } 
+0

那麼當服務運行時再次按下按鈕時它會調用什麼方法?請解釋一下 – Shah

+0

基本上你會調用.. context.bind服務方法,如果服務已經運行,如果沒有,它會創建服務。 ....看看這行this.bindService(我,conn,0); –

相關問題