Я создал статические методы для операции для вызова jobcheduler Jobdispatcher не отправляет эту работу, я думаю. Пожалуйста помоги.Firebase Job Dispatcher не запускает класс сервиса
Методы в Add.java
public void add_details(String namel,String descl,String timel)
{
add_job(timel);
}
synchronized public void add_job(String time)
{ Driver driver = new GooglePlayDriver(Add.this);
FirebaseJobDispatcher firebaseJobDispatcher = new FirebaseJobDispatcher(driver);
Job job = firebaseJobDispatcher.newJobBuilder().setService(Addition_job.class).setTag(JOB_TAG)
.setRecurring(true).setTrigger(Trigger.executionWindow(5,30)).build();
firebaseJobDispatcher.mustSchedule(job);}
Addition_job.class
public class Addition_job extends JobService{
private AsyncTask Task;
@Override
public boolean onStartJob(JobParameters job) {
Task=new AsyncTask() {
@Override
protected Object doInBackground(Object[] params) {
Context context=Addition_job.this;
Decision.notify_user(context);
return null;
}
};
return true;
}
@Override
public boolean onStopJob(JobParameters job) {
if (Task != null) Task.cancel(true);
return true;
}
}
Decision.java метод notifiy_user класса
public static void notify_user(Context context)
{
if(context!=null)
Toast.makeText(context,"notified:",Toast.LENGTH_SHORT).show();}
Я уточнял службу в манифесте с export=false
, а также action_Execute
.
Вы не называете 'AsyncTask.execute()'. Вам также нужно вызвать 'jobFinished', когда ваша' AsyncTask' будет закончена. – Oleksandr