Android 调用服务时,会运行onCreate,但不会运行onStart命令()
我正在编写代码,以便在android启动完成后调用服务 该服务在manifest.xml中定义,称为myService 在myService类中,代码覆盖两个方法:Android 调用服务时,会运行onCreate,但不会运行onStart命令(),android,service,Android,Service,我正在编写代码,以便在android启动完成后调用服务 该服务在manifest.xml中定义,称为myService 在myService类中,代码覆盖两个方法: @Override public void onCreate(){ myInit(); Log.d(TAG, "onCreate: "); } public int onStartCommand(){ Log.d(TAG, "onStartCommand first line"); st
@Override
public void onCreate(){
myInit();
Log.d(TAG, "onCreate: ");
}
public int onStartCommand(){
Log.d(TAG, "onStartCommand first line");
startScheduler();
Log.d(TAG, "onStartCommand: ");
//This service is running in the background all the time. Therefore, return sticky.
return START_STICKY;
}
运行时,logcat可以看到“onCreate”,但不能看到“onStartCommand”。我浏览了开发者网站,但不知道为什么
欢迎提出意见和建议
onstart命令
尝试将您的方法替换为:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(TAG, "onStartCommand first line");
startScheduler();
Log.d(TAG, "onStartCommand: ");
//This service is running in the background all the time. Therefore, return sticky.
return START_STICKY;
}
一般来说,如果您认为您正在重写或实现一个方法,请始终使用
@Override
对其进行注释。如果缺少参数、名称错误等,将导致编译器出错。onStartCommand
尝试将您的方法替换为:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(TAG, "onStartCommand first line");
startScheduler();
Log.d(TAG, "onStartCommand: ");
//This service is running in the background all the time. Therefore, return sticky.
return START_STICKY;
}
一般来说,如果您认为您正在重写或实现一个方法,请始终使用
@Override
对其进行注释。如果缺少参数、名称错误等,这将导致编译器错误。将super.onCreate()
添加到onCreate()
方法中。您好,CommonWare,super.onCreate()在我自己的onCreate()中是强制性的吗?它对于活动是强制性的。我不知道这是否是强制性的服务,但我建议打电话给它,除非你有明确的理由不这样做。谢谢。加上它。应用程序运行良好。将super.onCreate()
添加到您的onCreate()
方法中。您好,CommonWare,super.onCreate()在我自己的onCreate()中是强制性的吗?对于活动是强制性的。我不知道这是否是强制性的服务,但我建议打电话给它,除非你有明确的理由不这样做。谢谢。加上它。应用程序运行良好。