服务未启动,对象未收到通知

时间:2014-06-20 19:33:29

标签: android object service concurrency

我正在使用代码

Someactivity

Intent Service = new Intent(getBaseContext(), Service.class);
startService(Service);
try{
    synchronized (populateAlbumList_Running) {
        populateAlbumList_Running.wait();
    }catch(InterruptedException e){
        e.printStackTrace();
    }
}

我从服务中调用Someactivity.populateAlbumList_Running.Notify()

但问题是服务甚至没有启动 而我正在让应用程序永远不响应 但如果我删除wait()并启动服务,它的工作正常,请帮助

1 个答案:

答案 0 :(得分:1)

服务在主线程中启动。来自documentation

  

请注意,服务与其他应用程序对象一样,在main中运行   他们的托管过程的线程。

因此,如果你在主线程上wait(),他们就没有机会开始。您应该从后台线程运行此代码。