服务端代码
public class MyService extends Service {
private static final String TAG = "MyService";
private Handler mHandler = new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
Bundle bundle = msg.getData();
int id = bundle.getInt("id");
Log.d(TAG, "handleMessage: id = "+id);
}
};
@Override
public IBinder onBind(Intent intent) {
return (IBinder) new Messenger(mHandler).getBinder();
}
}
客户端代码
ServiceConnection connection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
Messenger messenger = new Messenger(service);
Message msg = Message.obtain();
Bundle bundle = new Bundle();
bundle.putInt("id",1000);
msg.setData(bundle);
try {
messenger.send(msg);
} catch (RemoteException e) {
throw new RuntimeException(e);
}
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
}
private void bindService(){
Intent intent = new Intent (MainActivity.this, MyService.class);
bindService(intent,connecttion,Context,BIND_AUTO_CREATE);
}