我正面临一个奇怪的问题。我想在创建活动时启动服务。这里是我服务的代码(很简单,因为你会看到):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