未调用Android服务

未调用Android服务,android,broadcastreceiver,android-service,android-manifest,android-permissions,Android,Broadcastreceiver,Android Service,Android Manifest,Android Permissions,这是我的服务: public class KeepAliveService extends Service { Alarm alarm = new Alarm(); public void onCreate() { Log.i("","KEEPALIVE onCreate"); super.onCreate(); } @Override public int onStartCommand(Intent intent, int flags, int startId) {

这是我的服务:

public class KeepAliveService  extends Service {
Alarm alarm = new Alarm();
public void onCreate()
{
    Log.i("","KEEPALIVE onCreate");
    super.onCreate();
}

@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
    alarm.setAlarm(this);
    Log.i("","KEEPALIVE onCreate start command");
    return START_STICKY;
}

@Override
public void onStart(Intent intent, int startId)
{
    alarm.setAlarm(this);
    Log.i("","KEEPALIVE onStart");
}

@Override
public IBinder onBind(Intent intent)
{
    return null;
}
}
我在我的舱单上声明如下:

   <?xml version="1.0" encoding="utf-8"?>

我进行了调试,startService上的断点确实停止了,但没有调用OnCreate。为什么?

您必须将
服务
广播接收器
放入
应用程序
标签中:

<application>
<service
    android:name="com.vidyo.vidyomod.KeepAliveService"
    android:enabled="true"
    android:process=":your_service" >
</service>
<receiver android:name="com.vidyo.vidyomod.utils.AutoStart">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
    </intent-filter>
</receiver>
</application>

此外,您正在另一个流程中启动服务

<service
    android:name="com.vidyo.vidyomod.KeepAliveService"
    android:enabled="true"
    android:process=":your_service" >


调试器已附加到主进程。当新程序启动时,它没有附加调试器,因此它将忽略您的断点。

在应用程序中添加了它,但在我调试时,仍然没有输入onCreate。尝试删除行android:process=“:your_service”
<application>
<service
    android:name="com.vidyo.vidyomod.KeepAliveService"
    android:enabled="true"
    android:process=":your_service" >
</service>
<receiver android:name="com.vidyo.vidyomod.utils.AutoStart">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
    </intent-filter>
</receiver>
</application>
<service
    android:name="com.vidyo.vidyomod.KeepAliveService"
    android:enabled="true"
    android:process=":your_service" >