Android, запустите службу с помощью потока и предупредите активность, когда она будет завершена - PullRequest
0 голосов
/ 08 октября 2011

У меня есть служба, которая имеет метод, который загружает изображение с URL и возвращает Uri. Этот сервис станет более сложным, когда он будет иметь все предполагаемые функции. Следовательно, Я вызываю его методы в потоке.

Моя проблема заключается в том, как предупредить активность, что служба выполнила свою работу.

Я мог бы изменить переменную класса isFinished, но активность должна постоянно проверяться за его ценность.

Я просто хочу, чтобы служба сообщила деятельности, что она выполнена, и ресурсы доступны для использования.

Я подумал что-то в строках службы, вызывающей stopSelf (), и активность была предупрежден через "onServiceDisconnected", но это не кажется "политкорректным".

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 08 октября 2011

Есть два способа сделать это.1. Вы можете начать свою деятельность, используя умысел.2. Вы можете транслировать намерение и записать получателя для него в своем приложении, когда ваш получатель получает намерение, и в этом методе вызывается метод onreceive. Вы можете начать свою деятельность, используя намерение.

cheers ...

0 голосов
/ 08 октября 2011
public class MyActivity extends Activity{

    public MyActivity() {
        ...
        MyThread thread = new MyThread(this);
        thread.start();
    }

    public void onFinishedThread(...) {

    }
}

class MyThread extends Thread {

    MyActivity activity;

    public MyThread(MyActivity activity) {
        this.activity = activity;
    }

    public void run() {
        // do work
        ...
        this.activity.onFinishedThread(...);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...