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();
}