Heim  >  Fragen und Antworten  >  Hauptteil

java - Wie kann eine präzise zeitliche Ausführung von Aufgaben erreicht werden?

Ich möchte einen Dienst verwenden, um eine Funktion zu implementieren, die jeden Tag zu einer geplanten Zeit (23:59 Uhr) einen Code ausführt (auschecken, über GET an den Server senden und die Aktivität nicht öffnen, wenn sie geöffnet werden kann). ). Ich verwende TimerTask und Handler, aber das ist nicht zuverlässig, es funktioniert grundsätzlich nicht, wenn der Bildschirm ausgeschaltet ist.

Später habe ich von AlarmManger und JobScheduler gehört. Nach dem Lesen der Dokumentation scheint es, dass sie speziell zum Öffnen von Aktivitäten verwendet werden. Welche Art von Logik sollte ich verwenden, um die automatische Checkout-Aktion abzuschließen?

怪我咯怪我咯2702 Tage vor578

Antworte allen(2)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-27 17:42:06

    AlarmManger 没有说是专门用来开Activity,他可以开启 Broadcast,Service,Activity,具体看你构建定时器的时候如何实例化Intent。据我所知,AlarmManger针对不同手机,发起闹钟的时间会有误差,不精准,尤其是小米机器,这可能是硬件时钟的问题了。其他的不太了解。仅供参考。

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-05-27 17:42:06

    Android管控越来越严格了, 还是乖乖用JobScheduler吧, JobScheduler的设计初衷就是为了合理利用手机资源的.

    Antwort
    0
  • StornierenAntwort