【发布时间】:2011-09-27 09:03:36
【问题描述】:
如何从另一个线程获取主线程的消息队列? Looper.getMainLooper() 获取主线程的looper,但我无法找到为另一个线程的looper 获取MessageQueue 的方法。此外,我如何获得主循环器的处理程序?我找不到任何方法来获得它。
【问题讨论】:
-
为什么?你不应该直接搞乱队列。
-
我只是想添加一个idleHandler来检查主线程是否在做某事
-
@CommonsWare 我想检查主线程的消息队列是否为空。我是这些概念的新手,正在考虑使用 idleHandler 在队列变空时获得通知。
-
“我想检查一下主线程的消息队列是否为空”——为什么?您要解决的业务问题是什么?如果您“不熟悉这些概念”,恕我直言,您不应该进入消息队列的 10 公里范围内。因此,我正在尝试确定您希望通过这种方法实现什么,希望我能为您找到更好、更简单的解决方案。
-
然后让主线程注册
IdleHandler并通过某种监听机制通知其他方。我看不到需要其他线程来执行此操作。 “对于所有这一切,我确实必须在 Android 框架的某个地方进行更改”——这可能是相当多的更改。
标签: android message-queue handler looper