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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...