这个错误通常是由于在同一线程中,在使用android.os.Handler的时候,将消息发送给了自己而引起的。解决方法是使用 post() 或 postDelayed() 方法代替 sendMessage() 方法,或者在发送消息时检查发送者和处理者是否为同一对象,避免重复发出消息。下面是一个正确的代码示例:
// 创建 Handler 对象 Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { //... } } };
// 在同一线程中发送消息给自己 mHandler.post(new Runnable() { @Override public void run() { // 处理消息 } });