2010-09-01 67 views
1

第一次我的應用程序加載時它開始我的主要活動,而我的主要活動中我會自動啓動服務:Android - 如何使用服務?

Intent s = new Intent(this, Soc.class); 
startService(s); 
//start the service for the first time 

我需要確保當用戶打開應用程序下一次,它殺死舊服務,並重新創建服務:

@Override 
//this code is on every activity in my application 
protected void onRestart() 
{ 
    super.onRestart(); 
    Intent s = new Intent(this, Soc.class); 
    stopService(s); 
    //kill the service 
    startService(s); 
    //start a brand new service 
} 

這是殺死服務和更新服務的正確方法嗎?

回答

0

這是殺死服務和更新服務的正確方法嗎?

那麼,它可能會工作,但它是相當浪費。你爲什麼在這種情況下會爲服務感到困擾?或者相反,爲什麼你必須銷燬並重新創建服務才能更新它?

+0

因爲我的服務是套接字,而我的應用程序是基於會話的應用程序。所以爲了使用應用程序,用戶必須連接到服務器並請求一個新的會話。 – aryaxt 2010-09-02 03:38:59

+0

@aryaxt:這與破壞和重建服務沒有任何關係。 – CommonsWare 2010-09-02 08:50:15

+0

是的,這是一個好主意,而不是殺死服務,並再次創建它,我關閉了套接字,並再次將它連接到我的服務器。 – aryaxt 2010-09-04 16:53:25