来自服务的runOnUiThread

时间:2012-10-03 11:15:24

标签: android

我的服务中有一个方法必须从一个线程中调用,但我不希望该代码在线程中执行。

如果我没有活动并且我从服务中调用它,我怎么能调用runOnUiThread?

感谢。

我对AsyncTask解决方案不感兴趣!

2 个答案:

答案 0 :(得分:7)

也许Handler可以帮到你。 Handler是与创建的线程相关联的元素,您可以将带有代码的runnable发布到Handler,并且runnable将在创建Handler的线程中执行。

信息链接: http://developer.android.com/reference/android/os/Handler.html

答案 1 :(得分:2)

你滥用的词语令人费解。 runOnUiThread是在MAIN线程上运行代码的辅助方法。通常,当您尝试从工作线程更新UI时,可以使用此方法。由于Service没有UI,因此runOnMainThread似乎非常不合适。

您的问题应该改为以下任何一种:

  • 如何运行我的代码 - MainThread?

使用AsyncTaskIntentService

  • 当我当前在另一个线程中时,如何在MainThread上执行代码。 (通常在Activity runOnUiThread中可以使用。)

Handler他的MainThread上创建Service并在其上发布Runnables /向其发送消息。