android - StartService 方法已执行,但 Service 事件未触发
问题描述
我有一个活动,我在 OnCreate 方法中启动服务。StartService
方法执行没有任何错误,但服务类中的任何事件都没有被触发!正如您在我的代码中看到的那样,我测试了显式和隐式模式来启动服务,但两种结果都是一样的!我的代码:
活动:
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
try
{
serviceToStart = new Intent(ApplicationContext, typeof(TrackService));
StartService(serviceToStart);
}
catch(Exception e)
{
var ee = e;
}
}
跟踪服务:
[Service(IsolatedProcess = true, enabled = true)]
public class TrackService : Service
{
FusedLocationProviderClient fusedLocationProviderClient;
public override void OnCreate()
{
base.OnCreate(); //Break point set here
}
public override StartCommandResult OnStartCommand(Android.Content.Intent
intent, StartCommandFlags flags, int startId)
{
fusedLocationProviderClient =
LocationServices
.GetFusedLocationProviderClient(this); //Break point set here
return StartCommandResult.Sticky;
}
public override IBinder OnBind(Intent intent)
{
return null;
}
}
显现:
编辑:清单手册已删除已删除
谁能告诉我有什么问题?
解决方案
最后!我找到了问题的根源!但是,我不知道它为什么会发生,我该如何解决它!
我总是在 logcat 中收到此错误:
没有找到 void mono.android.Runtime.register 的实现
在逐部分删除代码后,我发现问题是由IsolatedProcess
属性引起的。只需删除它,代码就可以正常工作。
注意:如您所见,也不需要enabled
为服务添加属性。
[Service]
public class TrackService : Service