JobScheduler Google Sample - Background Task - Experte gesucht

  • Liebe Community!


    Ich bräuchte bitte einen Experten der mir zur folgender Frage Auskunft geben kann:


    Vielleicht kennt wer von euch das offizielle Google Sample JobScheduler: https://github.com/googlesamples/android-JobScheduler


    In diesem Beispiel wird ein Handler inklusive Messenger verwendet.


    In der Klasse MyJobService.java wird danach folgender Code verwendet:



    Meine Frage bezieht sich auf den folgenden Ausschnitt:


    Code
    // Uses a handler to delay the execution of jobFinished().
            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    sendMessage(MSG_COLOR_STOP, params.getJobId());
                    jobFinished(params, false);
                }
            }, duration);

    Meiner Meinung findet ja hierbei das Runnable auf dem MainThread statt. Würde man hier z.B. eine Netzwerk Operation durchführen, würde eine NetworkOnMainThreadException bekommen.


    Kann mir bitte von euch jemand verraten, wie ihr hier in diesem Sample einen BackgroundThread für eine Netzwerkoperation durchführen könnte und eine Message nach Ende des Background Threads an die Acitvity in diesem Sample schicken kann?


    Ich hoffe mein Anliegen an euch Experten ist soweit klar und ich freue mich auf eure Unterstützung!


    Liebe Grüße
    cop

  • das ist doch aber genau das was du möchtest. Du möchtest eine nachricht an eine activity senden und die läuft nunmal im UI-Thread. In android sollte man in der regel immer Asynctasks anstelle eigener threads verwenden. Schon allein weil man pre und post execute methoden hat.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!