C# 未调用OnStartCommand/OnCreate
我创建了一个在前台服务中运行Signaler的服务。当我启动服务时,没有收到任何错误,但从未调用OnCreate和OnStartCommand。是的,我检查了舱单上的前台服务。我用于启动服务的代码是:C# 未调用OnStartCommand/OnCreate,c#,xamarin.android,visual-studio-2017,C#,Xamarin.android,Visual Studio 2017,我创建了一个在前台服务中运行Signaler的服务。当我启动服务时,没有收到任何错误,但从未调用OnCreate和OnStartCommand。是的,我检查了舱单上的前台服务。我用于启动服务的代码是: public void StartForegroundServiceComapt<SignalRSrv>(Context context, Bundle args = null) where SignalRSrv : Service { var inte
public void StartForegroundServiceComapt<SignalRSrv>(Context context, Bundle args = null) where SignalRSrv : Service
{
var intent = new Intent(context, typeof(SignalRSrv));
if (args != null)
{
intent.PutExtras(args);
}
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.O)
{
context.StartForegroundService(intent);
}
else
{
context.StartService(intent);
}
}
我在调试器中设置了断点,它们永远不会被命中。
RegisterForegroundService()
中设置的图标从未显示过(这并不奇怪,因为该服务没有实例化)。好吧,这是一个简单的答案(它们不都是吗?)。我将[Service]
添加到服务类的顶部,即
[Service]
public class SignalRSrv : Service
{
..... all my other stuff .....
}
它现在按预期点击OnCreate和onStart命令。
没有理由怀疑我为什么喝酒……嗨,在代码运行之前你是什么意思?信号器代码经过独立测试,运行良好。现在我想将其作为服务运行。好的,您是否在服务的OnCreate()中设置断点,并检查它是否可以工作。我设置了断点,但它们从未命中。
[Service]
public class SignalRSrv : Service
{
..... all my other stuff .....
}