今天在使用service的时候在onDestroy(); 里面进行unbindService(mServiceConnection); 操作,程序直接报了java.lang.IllegalArgumentException: Service not registered的错误。
错误流程如下,开始在xml文件里面定义了两个button
一个按钮是用来bindservice 一个按钮是用来 unbindservice
如果点击顺序 1.bindService ---> 2.unbindService 则不会有任何问题, 但是如果顺序是 1.unbindService 或者 1.bindService -----> 2.unbindService -----> 3.unbindService . 则会出现java.lang.IllegalArgumentException: Service not registered的错误。
后来发现 原来 bindservice() 这个方法竟然还有返回值,并且是boolean的。所以在unbindService的时候 需要进行非空判断,但是这个判断使用这个boolean来判断 ,所以就修改如下: