我已经实施了后台服务。当我启动设备时,启动后台服务并显示Toast消息。我希望在服务运行时每5秒钟显示一个Toast消息。以下代码似乎没有完成这项工作:
[Service]
public class BroadcastService : Service
{
IBinder mBinder;
[return: GeneratedEnum]
public override StartCommandResult OnStartCommand(Intent intent, [GeneratedEnum] StartCommandFlags flags, int startId)
{
Toast.MakeText(this, "BroadcastService Started...", ToastLength.Long).Show();
DoWork();
base.OnStartCommand(intent, flags, startId);
return StartCommandResult.Sticky;
}
public void DoWork()
{
while (true)
{
Toast.MakeText(this, "BroadcastService is running at each 5 seconds...", ToastLength.Long).Show();
Thread.Sleep(5000);
}
}
有人可以告诉我上面的错误并帮助在Xamarin.android中实现这个目的吗?
答案 0 :(得分:0)
我希望在服务运行时每5秒显示一次Toast消息。以下代码似乎没有完成工作
OnStartCommand
完成执行后,DoWork
将不再执行。
根据您的要求,您需要使用JobScheduler和JobInfo来创建定期任务。有关如何使用JobScheduler,您可以参考official demo of JobScheduler