浅谈Android Service的基本用法:
关于Service最基本的用法自然是启动和停止操作。
启动Service有两种方式:
1、通过startService(Intent intent)方式启动,启动时会自动执行onCreate(),onStartCommand()方法。
2、通过bindService(Intent intent,ServiceConnection connection,int flag)
第一个参数是一个Intent对象,第二个参数是连接Service的实例,
第三个参数是一个标志位这里传入BIND_AUTO_CREATE,
表示在Activity和Service建立关联后自动创建Service,这会使得MyService中的onCreate()方法得到执行,
但onStartCommand()方法不会执行。
销毁Service的方式也有两种
1、通过stopService(Intent intent)方法来销毁。此时会调用onDestroy()方法
2、通过unbindService(ServiceConnection conn);
注意:如果单独的操作startService启动和stopService销毁Service 或者 bindService启动和unbindService解绑是没有问题的,
但是如果先startService 然后 在bindService ,这时单独执行stopService或者unbindService都没法销毁Service。
必须两个方法都调用才会销毁Service。这是因为bindService时Service已经建立连接,会自动开创建。
。也就是说,点击Stop Service按钮只会让Service停止,点击Unbind Service按钮只会让Service和Activity解除关联,
一个Service必须要在既没有和任何Activity关联又处理停止状态的时候才会被销毁。
在Service中主线程与子线程通信使用Handler。
原文地址:http://blog.csdn.net/chengxuyuanqiangzi/article/details/45228977