如何在活动开始时等待服务

时间:2010-11-02 11:38:02

标签: android service android-activity oncreate

我正在创建一个具有与单个服务通信的Activity的应用程序,用于启动,停止或更改该服务的设置。我使用了this提示的单例方法。

我的问题是忙碌等待对我不起作用,我无法将监听器附加到服务,因为活动被阻止了。我希望服务启动或在应用程序启动时获取它的当前实例,所以我将忙等待放在onCreate上。我猜我做错了,所以我该怎么做呢?

此外,如果有更好的方法,请发布任何链接或指南,因为我在android开发者网站上感到困惑:P

谢谢!

2 个答案:

答案 0 :(得分:2)

  

我从这个技巧中使用了单身方法。

不要那样做。请改用bindService()和本地绑定模式,服务准备就绪时会通知您。您还可以访问该服务发布的API,并且可以在绑定后开始使用它。

答案 1 :(得分:1)

问题是程序与事件驱动编程之一,android的UI建立在后者上。

onCreate是一个事件。服务连接的通知也是一个事件。在从onCreate返回之前,您不会收到服务连接通知(即使已经发生)。

您可以将活动启动分为两部分,第一部分是在onCreate中完成的,第二部分是为了响应服务连接?