码迷,mamicode.com
首页 > 其他好文 > 详细

AIDLservice

时间:2015-08-28 16:57:22      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

有三种情况:如果直接使用服务,则没有必要进行绑定,但是如果要使用服务里面的方法,则要进行绑定。具体的启动情况有下:

 1.当启动时,单独调用bindService方法,在unbindService后,会执行service的onUnbind。

a. 首次使用bindService方法会调用service端的onCreate()->onBinder(),此时如果调用service端的方法是OK的。

b. 再次使用bindservice方法则不会重复调用,即无调用。此时如何调用service端的方法是OK的。

c. 在解绑定时候调用unbindService方法时候(或者绑定服务的activity destory后)会调用service端的onUnbind()但是不会调用onDestory()方法。此时调用service端的方法是没有作用的。如果需要再次调用service端的方法需要bindService。

 2.当启动时,先调用startService,再调用bindService方法后,在unbindService后,会执行service的onUnbind,不会执行onDestroy方法。除非你在执行stopService.

a. 先调用startService,再调用bindService方法后会执行此调用:onCreate()->onBinder()->onStartCommand() 此时可以调用service端的方法。

b. 再次使用bindservice方法则不会重复调用,但是仅调用方法onStartCommand()。

c. 在unbindService后,会调用onUnbind(),此时调用service端的方法是无效的。如果需要调用service端的方法,需要重新bindService。

 3. 先调用startService,在调用stopService,会执行service的onDestroy方法。

a. 先调用startService,再调用bindService方法后会执行此调用:onCreate()->onBinder()->onStartCommand() 此时可以调用service端的方法。

b. 再次使用bindservice方法则不会重复调用,但是仅调用方法onStartCommand()。

c. 调用stopService后,无法再调用service端的方法,即使再次bindService也不可以了。

AIDLservice

标签:

原文地址:http://www.cnblogs.com/kernel-style/p/4766752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!