我使用 startService() 来启动一个新服务。服务准备就绪需要一些时间。如果我立即调用 ServiceManager.getService(),它将返回 null。我没有找到任何关于此的阻止功能。如何知道服务何时准备好?是否有任何阻止功能或任何系统消息告诉我?
另一种方法是将ServiceManager.getService()放在一个while循环中,但我认为这不太好,因为它会锁定UI。
最佳答案
您可能应该重组代码以使用 Context#bindService
. bindService
允许您提供 ServiceConnection
当服务准备好进行交互时,将调用其 onServiceConnected
方法的对象。
关于android - 如何知道 Android 中的新服务何时准备就绪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789822/