android – 可以将bindService()阻止吗?

前端之家收集整理的这篇文章主要介绍了android – 可以将bindService()阻止吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用远程服务的 Android应用程序,并且我用bindService()绑定它,它是异步的.

该应用程序是无用的,直到服务被绑定,所以我只想等到绑定完成任何活动开始之前.是否有一种方法可以在onCreate()或onResume()被调用之前绑定该服务?我认为在应用程序中可能有一种方法来进行绑定.有任何想法吗?

编辑:

如果在onCreate()我这样做.

bindService(service,mWebServiceConnection,BIND_AUTO_CREATE);
synchronized (mLock) { mLock.wait(40000); }

ServiceConnection.onServiceConnected不会被调用40秒.很明显,如果我想要服务绑定,我必须让onCreate()返回.

所以似乎没办法做我想要的.

编辑2:
Android how do I wait until a service is actually connected?有一些很好的评论关于Android中绑定一个服务发生了什么.

解决方法

你不能有bindService()块.但是,您的ServiceConnection(第二个参数为bindService)具有回调功能,可以告诉您服务何时被连接和断开连接,所以您可以使用其他代码块,直到您的onServiceConnected()方法解除阻塞.

猜你在找的Android相关文章