第10篇.activity和service之间的通信
来源:互联网 发布:深圳市蜂鸟软件科技 编辑:程序博客网 时间:2024/06/03 04:01
一、同一个apk内部,activity和service的通信
项目要求,进入activity启动service,并要求servcice能够传递数据给activity,activity能够交互service,下面列出大致思路:
1、activity在service启动之前,先构建个service对象,并向其传递一个handler
2、activity开启服务,activity绑定服务,并把绑定之后返回的service值存储到上一步中的service对象去
3、service通过handler向activity传递数据
这里面比较麻烦的就是在绑定service之前,activity就需要先构建一个service对象,并传递数据给他,在service起来之后主动和activity通信,之后在绑定服务的时候对这个service对象重新赋值,否者会在某些activity调用service方法的时候出现空指针
service里面:
private final IBinder mBinder = new LocalBinder(); public class LocalBinder extends Binder { RecordServer getService() { // Return this instance of LocalService so clients can call public methods return RecordServer.this; } }
activity里面
private static RecordServer mRecordServer; private static boolean mBound = false;
public void onResume() { Intent intent = new Intent(this, RecordServer.class); bindService(intent, mConnection, Context.BIND_AUTO_CREATE);startService(intent); super.onResume(); }
private ServiceConnection mConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName className, IBinder service) { // 已经绑定了LocalService,强转IBinder对象,调用方法得到LocalService对象 LocalBinder binder = (LocalBinder) service; mRecordServer = binder.getService(); mBound = true; } @Override public void onServiceDisconnected(ComponentName arg0) { mRecordServer.SetHandler(null); mBound = false; } };
二、不在同一个apk里面的相互通信
0 0
- 第10篇.activity和service之间的通信
- Android Activity和Service之间的通信
- Android Activity和Service之间的通信
- Activity和Service之间的通信
- Android Activity和Service之间的通信
- Service和Activity之间的通信
- Android Activity和Service之间的通信
- service和activity之间的通信
- Service和Activity之间的通信
- service和Activity之间的通信
- android 的Activity和Service之间的通信
- android 的Activity和Service之间的通信
- android 的Activity和Service之间的通信
- android 的Activity和Service之间的通信
- android 的Activity和Service之间的通信
- android 的Activity和Service之间的通信
- Android 的Activity和Service之间的通信
- android 的Activity和Service之间的通信
- hadoop2.6.0版本搭建伪分布式环境
- EnumHelper
- [noip模拟赛]求和(快速幂)
- iOS UI中UIImageView执行幻灯片播放效果的参数问题
- Scheme R5RS 3.基本概念
- 第10篇.activity和service之间的通信
- Handler
- HTML5 合并单元格
- max-width:100%在td 或 table-cell 的兼容解决办法
- 阿里巴巴Dubbo实现的源码分析
- vim安装youcompleteme自动补全插件
- 深入浅出MySQL(3)
- Java并发编程: 使用Semaphore限制资源并发访问的线程数
- service层的封装