Messenger
Messenger,信使,作为进程间通信之一,内部原理是AIDL。
AIDL教程,可以去AIDL传送门了解。
使用
使用Messenger让服务端和客户端进行通信
服务端
- 新建服务
新建MessengerService,继承Service。
public class MessagerService extends Service {
public MessagerService() {
}
}
- 新建Handler,来处理客户端发送的消息
public static final int WHAT_TO_SERVER = 1;
public static final int WHAT_TO_CLIENT = 2;
/**
* 服务端handler,用来处理client发来的message
*/
private Handler serverHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
if (null == msg) {
return false;
}
switch (msg.what) {
case WHAT_TO_SERVER:
System.out.println("Message to client:" + msg.arg1);
Messenger client = msg.replyTo;
if (null == client) {