浅谈 Android Service

来源:互联网 发布:java认证 编辑:程序博客网 时间:2024/05/09 05:05


浅谈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。

0 0
原创粉丝点击