5

我有一个服务,它在第一次被调用时启动并正确绑定,但是当被其他活动调用时,对同一服务的连续绑定失败。

编码:

activity.startService(new Intent().setClass(activity, ServerListenerService.class));        

xmppServiceConnection = new ServiceConnection() {
        public void onServiceDisconnected(ComponentName name) {
            ServerActivityConnection.this.xmppService = null;
        }

        public void onServiceConnected(ComponentName name, IBinder binder) {
            //set everything up
        }
    };

activity.bindService(new Intent().setClass(activity, ServerListenerService.class), xmppServiceConnection, Activity.BIND_AUTO_CREATE);

第二次,在调用 之后activity.bindService,serviceconnection 的onServiceConnected方法永远不会被调用。我使用一个连接类来进行绑定,所以这两个活动的方法是相同的。该服务还正确添加了清单文件。

有任何想法吗?

非常感谢

4

1 回答 1

0

在我的情况下,问题与bindService(). 我只调用了一次onResume()- 遵循一些示例。

似乎bindService()每次启动服务时都应该调用它(ContextCompat.startForegroundService()在我的情况下)。

于 2019-10-12T03:03:54.273 回答