我正面臨一個奇怪的問題。我想在創建活動時啓動服務。這裏是我服務的代碼(很簡單,因爲你會看到):Android服務無法啓動
package com.nblmedia.service;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class ServiceSynchro extends Service {
public ServiceSynchro()
{
Log.i(XXX.LOG, "ServiceSynchro");
}
@Override
public IBinder onBind(Intent intent) {
Log.i(XXX.LOG, "onBind");
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
Log.i(XXX.LOG, "onCreate");
super.onCreate();
}
@Override
public void onDestroy() {
Log.i(XXX.LOG, "onDestroy");
// TODO Auto-generated method stub
super.onDestroy();
}
}
在我的AndroidManifest.xml我已經宣佈了服務如下:
<service android:name=".ServiceSynchro"></service>
Finaly,開始我的服務,我在onCreate中調用startService方法:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
startService(new Intent(UserMenuActivity.this, ServiceSynchro.class));
}
沒有任何反應。如果我檢查設備的運行服務,則沒有名爲ServiceSyncho的服務正在運行。如果我檢查Logcat,則不輸出任何內容。相同的斷點,應用程序不會循環通過服務的生命週期事件。任何想法可能是我的問題?
您可以嘗試實施Service.onStartCommand(..)以查看它是否至少被調用。 – harism 2011-12-31 21:13:47