Android:Service进程间相互通信: Messenger(系列4)

MainActivity中


sc = new ServiceConnection() {


@Override
public void onServiceDisconnected(ComponentName name) {


}


@Override
public void onServiceConnected(ComponentName name, IBinder service) {


messenger = new Messenger(service);


}
};
public void bind() {
Intent intent = new Intent(this, MyService.class);
this.bindService(intent, sc, Service.BIND_AUTO_CREATE);<span style="color:#ff0000;">//红色为固定写法</span>
}
public void send() {
int[] data = new int[2];
Random rand = new Random();
data[0] = rand.nextInt(10);
data[1] = rand.nextInt(10);
Log.d("22222 ","222222");
Message message = new Message();


message.obj = data;


try {
messenger.send(message);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


Service 中



@Override
public void onCreate() {
Log.d("onCreate", "2");
Handler handler = new Handler(){

@Override
public void handleMessage(Message msg){

int[] data = (int[]) msg.obj;

a = data[0];
b = data[1];
Log.d("接收到消息", "1");

}
};

messenger = new Messenger(handler);
}
@Override
public IBinder onBind(Intent intent) {
Log.d("onBind", "1");
return messenger.getBinder();
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值