2016-06-02 13 views
2

In meiner Android-App muss ich jedes Mal etwas arbeiten, wenn der Benutzer sein Gerät einsteckt. Zu diesem Zweck benutze ich jetzt einen BroadcastReceiver, der meinen IntentService startet, um die Arbeit zu verrichten, wenn der Benutzer das Gerät anschliesst und es stoppt, wenn das Gerät ausgesteckt wird.Android - Job Scheduler oder BroadcastReceiver?

Im Moment denke ich an mit Jobscheduler für Android 5.0 und höher, aber was ich sehe ist, dass mit Jobscheduler, würde ich meinen Job in der App planen müssen, von

JobScheduler.schedule(JobInfo); 

Aufruf Aber Das ist ein Problem für mich, weil ich möchte, dass mein Job jedes Mal ausgeführt wird, wenn der Benutzer sein Gerät mit dem Ladegerät verbindet, auch ohne dass der Benutzer meine App öffnen muss.

Aus diesem Grund denke ich, ein Weg wäre es zu planen, das erste Mal, wenn der Benutzer die App öffnet, und dann immer zwinge neu zu planen, da ich nicht vertrauen kann, dass der Benutzer meine App jeden Tag öffnet Art meiner App, wird sicherlich nicht passieren).

Also, sollte ich mit BroadcastReceiver bleiben oder JobScheduler für Android 5.0+ verwenden?

Und sollte ich bei der Verwendung von JobScheduler meinen Job nur einmal einplanen und dann immer true zurückgeben, um eine Neuterminierung zu erzwingen?

Vielen Dank.

+0

Hören Sie den Batteriewechselstatus über einen BroadcastReceiver: http://StackOverflow.com/Questions/11277302/Icant-receive-broadcast-on-battery-state-change – Goufalite

Antwort

0

Jobscheduler läuft im Hintergrund und bleibt durch Neustarts bestehen, also sollte es Ihnen gut gehen.