gpt4 book ai didi

android - bindService() 可以阻塞吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:59:05 45 4
gpt4 key购买 nike

我有一个使用远程服务的 Android 应用程序,我使用异步的 bindService() 绑定(bind)到它。

在绑定(bind)服务之前应用程序是无用的,所以我想简单地等到绑定(bind)完成后再启动任何 Activity。有没有办法在调用 onCreate()onResume() 之前绑定(bind)服务?我认为可能有一种方法可以在 Application 中进行绑定(bind)。有什么想法吗?

编辑:

如果在 onCreate() 中,我会这样做。

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

ServiceConnection.onServiceConnected 在 40 秒内未被调用。很明显,如果我希望服务绑定(bind),我必须让 onCreate() 返回。

所以看起来没有办法做我想做的事。

编辑 2: Android how do I wait until a service is actually connected?对绑定(bind)服务时 Android 中发生的事情有一些很好的评论。

最佳答案

你不能有 bindService() block 。但是,您的 ServiceConnection(bindService 的第二个参数)有回调告诉您服务何时连接和断开,因此您可以使用其他代码块,直到您的 onServiceConnected() 方法取消阻止它。

关于android - bindService() 可以阻塞吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6472345/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com