2017-05-03 2 views
0

GCMTaskManagerを使用して、約30分ごとに実行される定期的なタスクをスケジュールしようとしています。実行されると、APP内の一部の内部データに対する「更新」が行われます。GCMTaskManager PeriodicTask ...タイマーを再起動したり、残っている時間を確認しますか?

私はdesired.Iなど、タスクの火災は、それは少なくともOnRunTask火災私は移入していLOGに応じて(操作していること。

、この予備動作していると見ることができ、 OnRunTaskLOGコマンドを使用して私はそれを行うことができるならば、私は判断できない二つの問題を....持っ

  • は、次のOnRunTask火災の前に「左」...またはされてどのくらいの時間を確認する方法はあります.. 。次に実行する必要がある「時間」はどれくらいですか?例:PeriodTaskの場合は30分、 12分が残っていることをプログラムで確認できますか?

  • APPS更新を手動で開始するための内部「ボタン」があります。ユーザーがこれにヒットした場合は、その時点からPeriodicTaskタイマーを「再起動」します。つまり、OnRunTaskの30分が約12分で起動し、ユーザーが手動でUPDATEを押すと、OnRunTaskはボタンを押してから30分後に再開します。これはできますか?

おかげ

ピート

1については

答えて

0

)GCMNetworkManagerが残り/経過時間を追跡するためのインタフェースを提供していませんが、あなたが最後に更新されたタイムスタンプを格納する変数を維持することにより、これを自分で行うことができますあなたのデータのために。 docs

から

2)Googleがサービスを再生したり、クライアントアプリが更新されると、すべてのスケジュールされたタスクが削除されます。 GcmNetworkManagerはクライアントアプリケーションのonInitializeTasks()を呼び出します。この機能をオーバーライドして、必要なタスクのスケジュールを変更します。

関連する問題