Android,使用线程启动服务,并在完成时警告活动

Android,使用线程启动服务,并在完成时警告活动,android,multithreading,service,Android,Multithreading,Service,我有一个服务,它有一个从URL下载图像并返回Uri的方法。 当该服务具备所有预期功能时,它将变得更加复杂。因此 我在线程中调用它的方法 我的问题是如何警告活动该服务已完成其工作 我可以更改一个类isFinished变量,但活动必须不断检查 因为它的价值 我只想让服务告诉活动,它的工作已经完成,资源也已经到位 可供使用 我认为在呼叫stopSelf的服务线路中,活动是 通过onServiceDisconnected发出警告,但这在政治上似乎不太正确 提前感谢有两种方法。 public class

我有一个服务,它有一个从URL下载图像并返回Uri的方法。 当该服务具备所有预期功能时,它将变得更加复杂。因此 我在线程中调用它的方法

我的问题是如何警告活动该服务已完成其工作

我可以更改一个类isFinished变量,但活动必须不断检查 因为它的价值

我只想让服务告诉活动,它的工作已经完成,资源也已经到位 可供使用

我认为在呼叫stopSelf的服务线路中,活动是 通过onServiceDisconnected发出警告,但这在政治上似乎不太正确


提前感谢

有两种方法。
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(...);
    }
}
1.您可以通过激发意图来开始您的活动。 2.您可以在应用程序中广播一个intent并为其写入接收器。当接收器接收到intent并在此方法中调用onreceive方法时,您可以使用intent启动活动

干杯