0

インターネットが利用可能になるたびにジョブを実行するために、次のコードを使用しています。また、サービスが開始された後(利用可能な接続のため)、インターネットがある限り定期的に(30秒ごとに)サービスを実行し、接続がもはや利用できなくなると、停止し、次回インターネットがある場合にのみ再開します。私はOnstopメソッドを呼び出します他の[OK]を、インターネットがある場合JobService自体は、テストを(30秒)を実行しようとしている次の時間をスケジュールした時間後にアップした作りと考え条件が満たされている間に定期ジョブを実行しますか?

FirebaseJobDispatcher jobDispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(MainActivity.this)); 

         .setTag("JobService") 

         .setRecurring(true) 

         .setLifetime(Lifetime.FOREVER) 
         .setService(JobService.class) 

         .setTrigger(Trigger.executionWindow(0,10)) 

         .setReplaceCurrent(true) 
         .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL);  

       builder.addConstraint(Constraint.ON_UNMETERED_NETWORK); 
       jobDispatcher.mustSchedule(builder.build()); 

これを解決するための正しいアプローチのようには感じられませんでした。

答えて

0

書くことができます:setTrigger(Trigger.executionWindow(30,40))。説明: firebase job dispatcher github

Scheduling a more complex job 

Bundle myExtrasBundle = new Bundle(); 
myExtrasBundle.putString("some_key", "some_value"); 

Job myJob = dispatcher.newJobBuilder() 
    // the JobService that will be called 
    .setService(MyJobService.class) 
    // uniquely identifies the job 
    .setTag("my-unique-tag") 
    // one-off job 
    .setRecurring(false) 
    // don't persist past a device reboot 
    .setLifetime(Lifetime.UNTIL_NEXT_BOOT) 
    // start between 0 and 60 seconds from now 
    .setTrigger(Trigger.executionWindow(0, 60)) 

またはexecutionWindowため、ルールは次のとおりです。

.setTrigger(Trigger.executionWindow(
         INTERVAL_IN_SECONDS, 
         INTERVAL_IN_SECONDS + TIME_WINDOW_IN_SECONDS 
       )) 

参照:https://stackoverflow.com/a/39909986/1537413

+0

すみませんが、私はどのように使用されるコマンドを理解していません:。 setTrigger(Trigger.executionWindow(0,10)) は、 .setTrigger(Trigger.executionWindow( )、INTERVAL_IN_SECONDS、 INTERVAL_IN_SECONDS + TIME_WINDOW_IN_SECONDS )) – student93

+0

私が使ったのは、初めてインターネットに接続して次回は切断して再び接続した後のことです。これは私が望むような動作ではありませんユーザーがまだ接続されている限り、定期的に起動されるようにしてください。 – student93

+0

あなたは30秒ごとに定期的に実行したいのですか? – Dika

関連する問題