Service 绑定方式启动,生命周期。绑定方式读取服务器数据
2016-06-27 15:36
591 查看
ServiceConnection sc; MyService.MyBinder myb; //绑定 public void bt_3(View v) { //以绑定方式启动 //准备Intent:显式意图 Intent intent = new Intent(this,MyService.class); if (sc==null) { sc = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { //代理对象 myb = (MyService.MyBinder) service; Toast.makeText(MainActivity.this, "绑定启动完成,接收返回的对象" + myb, Toast.LENGTH_SHORT).show(); } //异常状态时触发 @Override public void onServiceDisconnected(ComponentName name) { Toast.makeText(MainActivity.this, "服务连接中断", Toast.LENGTH_SHORT).show(); } }; } //三个参数 //1-意图 //2-服务连接的实现类 //3-启动方式,一般用Context.BIND_AUTO_CREATE bindService(intent, sc, Context.BIND_AUTO_CREATE); } //解除绑定 public void bt_4(View v) { if (sc!=null) { unbindService(sc); sc=null; } else { Toast.makeText(MainActivity.this, "请先绑定服务", Toast.LENGTH_SHORT).show(); } } //读取 public void bt_5(View v) { //读取服务的运行数据 //用代理对象 Toast.makeText(MainActivity.this, "读到的服务数据="+myb.getTest(), Toast.LENGTH_SHORT).show(); }
MainActivity.java
相关文章推荐
- avalon2学习教程13组件使用
- 用C++11的std::async代替线程的创建
- H.264视频在android手机端的解码与播放(转)
- JavaScript强化教程——javascript性能优化
- 一些AD自调试
- 技术培训|运维工程师的逆袭——云资源的管理与维护预告
- JVM飙高排查脚本-结构分析
- avalon2学习教程12数据验证
- .net web api 一
- 如何使用Xcode的Targets来管理开发和生产版本的构建
- dragsort拖动排序
- Android内核开发:系统启动速度优化-Android OS启动优化(转)
- Android SDK和NDK
- 转:云风skynet服务端框架研究
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
- 每天一个linux命令(1):tail 命令
- 你想建设一个能承受500万PV/每天的网站吗
- curl php 下载
- Android的面孔_Actiyity
- Tomcat服务器安装配置教程(win7)