Android bindService():我必须防止onServiceConnected()永远不会出现吗

Android bindService():我必须防止onServiceConnected()永远不会出现吗,android,android-service,Android,Android Service,Android的Context.bindService是异步的。即使返回true,IBinder也无法立即使用。您给它一个ServiceConnection对象,框架将调用它。至少应该是这样的 是否有人遇到过bindService返回true,但onServiceConnected调用从未出现的情况?这是我必须解释和防范的情况吗 我将使用的服务是应用内计费。如果绑定到的服务与客户端在同一进程中运行,即本地服务,那么如果bindService返回true,则没有实际理由不调用onServiceCo

Android的Context.bindService是异步的。即使返回true,IBinder也无法立即使用。您给它一个ServiceConnection对象,框架将调用它。至少应该是这样的

是否有人遇到过bindService返回true,但onServiceConnected调用从未出现的情况?这是我必须解释和防范的情况吗


我将使用的服务是应用内计费。

如果绑定到的服务与客户端在同一进程中运行,即本地服务,那么如果bindService返回true,则没有实际理由不调用onServiceConnected。如果服务在远程进程中运行,那么即使bindService返回true,也至少有一个条件需要处理:如果远程进程崩溃,那么您将打开服务断开连接,然后在系统重新启动服务时再次打开服务连接,这可能需要一段时间


您应该能够信任系统,如果bind返回true,并且没有引发任何安全异常,您应该在合理的时间内连接到服务。

应用内计费是远程的。它在com.android.vending又名Market应用程序中运行。