自定义处理程序类方法handleMessage()未触发

时间:2019-07-17 00:30:55

标签: java android handler message

我有一个尝试发送消息的实用程序类。我还创建了一个自定义Handler类来处理消息响应。问题是handleMessage(Message msg)根本没有被调用。是我理解不正确吗?

我尝试将处理程序放置在应用程序结构的不同区域,但是我仍然没有收到任何消息。

下面是我在实用程序类中用于将消息发送到队列中的公共方法:

    public boolean sendRequestToService(int what, Bundle data){

        boolean ok = false;
        Message message = new Message();
        message.what = what;

        if(data!=null){
            message.setData(data);
        }

        if (null != mService) {
            try {
                mService.send(message);
                ok = true;
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        }
        return ok;
    }

    private void registerToService() {
        try {
            Message msg = Message.obtain(null, 14);

            Messenger mFromService = new Messenger(new MyAppHandler(this));

            msg.replyTo = mFromService;
            if (null != mService) {
                mService.send(msg);
            }

        } catch (RemoteException e) {
        }
    }

/////////////////////////////
//////MyAppHandler.java//////
/////////////////////////////
    public class MyAppHandler extends Handler implements BluetoothAPI {

         private BluetoothDataListener dataListener;

         public MyAppHandler(BluetoothDataListener dataListener){
             super();
             this.dataListener = dataListener;
         }


         @Override
         public void handleMessage(Message msg) {
             System.out.println("handle message");
         }
     }

0 个答案:

没有答案