我正在 Android 上尝试一些新的东西,我需要访问 UI 线程的处理程序。
我知道以下几点:
- UI 线程有自己的处理程序 和弯针
- 任何消息都会被放入 进入 UI 的消息队列 线程
- looper 接手事件 并将其传递给处理程序
- 处理程序处理消息并 将特定事件发送到 UI
我希望我的服务必须获取 UI 线程处理程序并将消息放入此处理程序。 这样这个消息就会被处理并发送到 UI。 这里的服务将是一个正常的服务,将由某个应用程序启动。
我想知道这是否可能。 如果是这样,请建议一些代码 fragment ,以便我可以尝试。
问候 吉里什
最佳答案
这段代码构造了一个与主(UI)线程关联的处理程序:
Handler handler = new Handler(Looper.getMainLooper());
然后您可以像这样在主 (UI) 线程中发布要执行的内容:
handler.post(runnable_to_call_from_main_thread);
如果处理程序本身是从主 (UI) 线程创建的,则为简洁起见,可以省略该参数:
Handler handler = new Handler();
Android Dev Guide关于进程和线程有更多信息。
关于android - 从服务访问 UI 线程处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6369287/