Android 从服务中读取

Android 从服务中读取,android,Android,我的服务中有一个方法,该方法必须从线程中调用,但我不希望该代码在线程中执行 如果我没有活动,并且是通过服务调用它,我如何调用RunNuithRead 谢谢 我对异步任务解决方案不感兴趣 你误用的词语数量令人困惑runOnUiThread是在主线程上运行代码的辅助方法。通常,当您尝试从工作线程更新UI时,会使用此方法。由于服务没有UI,因此runnonmainthread似乎非常不合适 您的问题应改为以下任一问题: 如何从主线程运行代码 使用AsyncTask或IntentService 当

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

如果我没有活动,并且是通过服务调用它,我如何调用RunNuithRead

谢谢


我对异步任务解决方案不感兴趣

你误用的词语数量令人困惑
runOnUiThread
是在主线程上运行代码的辅助方法。通常,当您尝试从工作线程更新UI时,会使用此方法。由于
服务
没有UI,因此runnonmainthread似乎非常不合适

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

  • 如何从主线程运行代码
使用
AsyncTask
IntentService

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

在您的
服务
主线程上创建
处理程序
,并在其上发布
Runnables
,或向其发送消息。

也许
处理程序
可以帮助您。Handler是与创建处理程序的线程关联的元素,您可以将代码中的runnable发布到处理程序,该runnable将在创建处理程序的线程中执行

信息链接:

不清楚的问题和荒谬的声明“对异步任务不感兴趣”!最好是为活动启动广播接收器并更新UI。@LalitPoptani我没有活动!这个问题的唯一问题是“我对异步任务解决方案不感兴趣!”-为什么不?是的,这解决了问题。ThanksCan不是一个服务,让祝酒和张贴通知?在我看来,他们确实有一个UI,尽管UI不像活动那样广泛。请注意,与其他应用程序对象一样,服务在其宿主进程的主线程中运行。这意味着,如果您的服务要执行任何CPU密集型(如MP3播放)或阻塞(如网络)操作,它应该生成自己的线程来执行该工作。有关这方面的更多信息,请参阅。