JobScheduler 可以执行前台服务吗?
Can a JobScheduler execute a foreground service?
可能吗?我需要启动我的前台服务,因为我在 UI 线程中使用它,
示例:每 25 分钟在我的应用中播放一个视频,该视频已关闭。
我认为这不是使用 JobScheduler 的最佳用例,但您可以!首先你应该创建
public class ExerciseJobService extends JobService {
private Context context;
public ExerciseJobService(Context context) {
this.context = context
}
@Override
public boolean onStartJob(JobParameters params) {
Intent intent = new Intent(context, YOUR_SERVICE.class)
startForegroundService(intent)
return true;
}
@Override
public boolean onStopJob(JobParameters params) {
return true;
}
}
在该计划作业之后
private FirebaseJobDispatcher jobDispatcher = FirebaseJobDispatcher(GooglePlayDriver(context))
Job myJob = jobDispatcher.newJobBuilder()
.setService(ExerciseJobService::class.java)
.setTag("SIMPLE_TAG")
.setTrigger(Trigger.NOW)
.build()
jobDispatcher.mustSchedule(myJob)
可能吗?我需要启动我的前台服务,因为我在 UI 线程中使用它,
示例:每 25 分钟在我的应用中播放一个视频,该视频已关闭。
我认为这不是使用 JobScheduler 的最佳用例,但您可以!首先你应该创建
public class ExerciseJobService extends JobService {
private Context context;
public ExerciseJobService(Context context) {
this.context = context
}
@Override
public boolean onStartJob(JobParameters params) {
Intent intent = new Intent(context, YOUR_SERVICE.class)
startForegroundService(intent)
return true;
}
@Override
public boolean onStopJob(JobParameters params) {
return true;
}
}
在该计划作业之后
private FirebaseJobDispatcher jobDispatcher = FirebaseJobDispatcher(GooglePlayDriver(context))
Job myJob = jobDispatcher.newJobBuilder()
.setService(ExerciseJobService::class.java)
.setTag("SIMPLE_TAG")
.setTrigger(Trigger.NOW)
.build()
jobDispatcher.mustSchedule(myJob)