如何阻止handler的消息处理

来源:互联网 发布:聚合数据是什么意思 编辑:程序博客网 时间:2024/05/29 04:24

*本次的文章介绍,如何阻止handler的消息处理,是来源于自己写的小程序中,在一个界面中需要反复向服务端发送某个请求,而当这个界面被切换到另一个界面的时候,该hander的handlermessage就不能再处理该类信息,如下面所示

final Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            if(msg.what==1)            {           //更新UI  代码省略            queryhistorytrack();//请求访问服务器            }        }    };    private void queryhistorytrack()    {       //请求服务器接收信息,接受完信息之后,通知主线程更新UI       Message message = handler.obtainMessage(1);         handler.sendMessageDelayed(message,15000);        //延迟15秒发送信息    }    //如何组织上面的handlermessage,在activity切换时    //在activity那个主类中onStop方法中     @Override    protected void onStop(){        super.onStop();        handler.removeMessages(1);       //在消息队列中remove 1这种信息,就可以中断处理    }

至于为什么onStop阻止,可以看一下activity的生命周期
handler详细教程

原创粉丝点击