我想在Service启动时执行Java代码,但我找不到合适的Java方法:
service.setOnRunning(new EventHandler<WorkerStateEvent>()
{
@Override
public void handle(WorkerStateEvent t)
{
Start some logic
}
});
service.setOnSucceeded(new EventHandler<WorkerStateEvent>()
{
@Override
public void handle(WorkerStateEvent t)
{
Stop some logic
}
});
如何在启动Service时只调用一次Java Method?
答案 0 :(得分:2)
您可以轻松控制Service
开始时间,因此没有特殊方法。
只需将您想要在开始时运行的任何代码添加到call
方法:
private class MyService extends Service<Void> {
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
// "onStart" code
System.out.println("Service started");
// actual service code
//do stuff
return null;
}
};
}
}