Android 在3或4次启动应用程序后,不会在bindService之后调用onServiceConnected

Android 在3或4次启动应用程序后,不会在bindService之后调用onServiceConnected,android,android-service,bindservice,onserviceconnected,Android,Android Service,Bindservice,Onserviceconnected,我面临着一个奇怪的问题。在我的应用程序发布时,我将活动与服务连接起来。服务连接正在成功建立,并且在三星galaxy S5和其他设备上运行良好。但在其他设备上,如Moto E、Moto G等,它在3或4次发布后仅运行2或3次,根本不起作用。 使用massenger实现服务和活动之间的通信。我观察到,当我的应用程序停止在服务上工作时,不会调用Connection,但即使在这种情况下,bindservice也会返回true。提到了类似的问题,但没有回答 这就是我将服务绑定到活动的方式 star

我面临着一个奇怪的问题。在我的应用程序发布时,我将活动与服务连接起来。服务连接正在成功建立,并且在三星galaxy S5和其他设备上运行良好。但在其他设备上,如Moto E、Moto G等,它在3或4次发布后仅运行2或3次,根本不起作用。 使用massenger实现服务和活动之间的通信。我观察到,当我的应用程序停止在服务上工作时,不会调用Connection,但即使在这种情况下,bindservice也会返回true。提到了类似的问题,但没有回答

这就是我将服务绑定到活动的方式

    startService(new Intent(this,MyService.class));
    boolean bound = bindService(new Intent(this,MyService.class), serviceConnection, Context.BIND_AUTO_CREATE);//bound is true everytime 
下面是MyService的onBind

public IBinder onBind(Intent intent) {

    return messenger.getBinder();
}
此处,messenger是messenger的一个实例,用于在活动和服务之间进行通信。

当活动暂停或销毁时,应解除绑定。看一看

编辑:
如果您希望您的服务继续运行,请使用startService启动它,并使其成为前台服务。您可以在恢复和暂停时绑定和解除绑定活动。我在做android媒体播放器的论文时使用了这种方法:

当活动暂停/停止时,你是否解除绑定?不..我不这么认为required@Shakeeb_Ayaz,看一看我的answerIts媒体播放器应用程序。所以在用户停止播放之前,我不应该停止播放