마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

핸들러 메시지 전달 질문이요

0 추천
private Messenger mClient = null;
private final Messenger mMessenger = new Messenger(new Handler(new Handler.Callback() {
    @Override
    public boolean handleMessage(Message msg) {
        Log.w("test","ControlService - message what : "+msg.what +" , msg.obj "+ msg.obj);
        switch (msg.what) {
            case Features.REQUEST_COMMAND: //messenger 초기
                mBluetoothConnectSession.sendData(msg.getData().getString("command"));  // activity로부터 가져온
                break;
            case Features.SET_HANDLER: //messenger 초기
                mClient = msg.replyTo;  // activity로부터 가져온
                break;
            case Features.RESET_HANDELR: //messenger
                 mClient = null;
                break;
        }
        return false;
    }
}));

private void sendMsgToActivity(int sendValue, String text) {
    try {
        Bundle bundle = new Bundle();
        bundle.putString("text",text);
        Message msg = Message.obtain(null, sendValue);
        msg.setData(bundle);
        mClient.send(msg);      // msg 보내기
    } catch (RemoteException e) {
    }
}

이런핸들러가있을때  mClient.send(msg); 여기부분 왜 mClient에다가 send를 해야 동작을할까요

mMessenger.send로하면 정상동작을안하는지..

 

익명사용자 님이 2019년 11월 29일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...