Messenger:客户端向服务端传递数据
1.Service:
public class MessengerService extends Service {
private Messenger messenger = new Messenger(new Handler() {
public void handleMessage(Message msg) {
//获取数据
Bundle bundle = msg.getData();
}
});
public IBinder onBind(Intent intent) {
return messenger.getBinder();
}
}
注册Service
Client:同AIDL
public void onServiceConnected(ComponentName name, IBinder service) {
Messenger messenger = new Messenger(service);
Message msg = Message.obtain();
msg.what = 100;
Bundle bundle = new Bundle();
bundle.putString("data","字符串");
msg.setData(bundle); // 不能用 msg.obj = "字符串";//会报错
try {
messenger.send(msg);
}catch(...) {}
}