首页 理论教育 如何在Service和Activity之间进行通信?

如何在Service和Activity之间进行通信?

时间:2023-06-27 理论教育 版权反馈
【摘要】:在Android2.3中建立项目Service_Test。图4-11 布局效果在实现的Service类中,在onCreate()函数启动一个线程,不断调用回调函数,把Serv-ice的数据传递给Activity。主Activity的类MainActivity的主要处理代码如下。运行结果如图4-12所示,单击BINDSERVICE按钮,可以看到MyService中的数据ServiceData显示在MainActivity的界面上。图4-12 Service和Activity之间通信

如何在Service和Activity之间进行通信?

上文提到,通过Service的onBind()方法可以实现与Activity的通信。在Android2.3中建立项目Service_Test。

(1)布局文件activity_main.xml的效果如图4-11所示。

(2)创建一个Service类MyService.java,主要代码如下。

978-7-111-58810-8-Chapter04-37.jpg

图4-11 布局效果

978-7-111-58810-8-Chapter04-38.jpg

978-7-111-58810-8-Chapter04-39.jpg

在实现的Service类中,在onCreate()函数启动一个线程,不断调用回调函数,把Serv-ice的数据传递给Activity。(www.xing528.com)

(3)主Activity的类MainActivity的主要处理代码如下。

978-7-111-58810-8-Chapter04-40.jpg

978-7-111-58810-8-Chapter04-41.jpg

在MainActivity中调用bindService()时,第2个参数是一个ServiceConnection,会运行MyServiceConn(ServiceConnection的实现),其中的函数onServiceConnected()在连接时执行,调用Service的回调函数,并具体实现其中的接口,在其中发送消息。

(4)运行结果如图4-12所示,单击BINDSERVICE按钮,可以看到MyService中的数据ServiceData显示在MainActivity的界面上。

978-7-111-58810-8-Chapter04-42.jpg

图4-12 Service和Activity之间通信

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈