This message is already in use.的解决办法
程序员文章站
2022-05-16 12:23:51
...
This message is already in use.的解决方法
在开发项目的时候遇到报错This message is already in use.然后我看了下是和handler发送Message相关的,于是我就在网上找解决办法。其实意思就是说,这个消息已经在消息队列了,而且正被使用,而如果往同一个队列发送相同的西哦奥西对象就会报错。
这样,解决就很简单了,我们只需要判断这个消息是否在队列中有了,有了我们new一个一模一样的消息对象,然后发出去,这样就不会报错了。
下面贴出我之前的代码和修改后的代码:
报错的:
public void onMessage(Message msg) { handler.sendMessage(msg); }
修改后的:
public void onMessage(Message msg) { if(handler.obtainMessage(msg.what, msg.obj) != null){ Message _msg = new Message(); _msg.what = msg.what; _msg.obj= msg.obj; msg = _msg; // return; } handler.sendMessage(msg); }
这样问题就解决了,当然效果怎么样我这里没测试,希望对大家有帮助。
推荐阅读
-
IIS访问ASP页面时报错The requested resource is in use.的解决办法
-
hibernate的报错信息a different object with the same identifier value was already associated with the session解决办法
-
启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
-
IIS访问ASP页面时报错The requested resource is in use.的解决办法
-
app:mergeExtDexDebug,Program type already present:BuildConfig 的另类解决办法
-
解决办法:Message: 对实体 "useUnicode" 的引用必须以 ';' 分隔符结尾
-
Eclipse中提示svn: is already locked的解决办法
-
hibernate的报错信息a different object with the same identifier value was already associated with the session解决办法
-
Cannot modify header information – headers already sent by cookie 的解决办法
-
This message is already in use.的解决办法