Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android DreamService中的RunNuithRead?_Android_Dreamservice - Fatal编程技术网

Android DreamService中的RunNuithRead?

Android DreamService中的RunNuithRead?,android,dreamservice,Android,Dreamservice,我有一个DreamService,我想在后台线程完成后开始更新一些UI内容(我正在引发一个事件来触发它)。 在我的应用程序的主版本中,我只使用RunOnUiThread从事件启动UI更新,但dreamService不是活动的后代,因此没有这样的方法。 奇怪的是,我没有出错,我只是得到一个空白屏幕。 在我的catlog中,我看到来自UI代码的警告,但它们是“空的”(没有消息,我只看到“W at com.my.app”3次,不同的代码行) 我认为最有可能的原因是从线程中引发的事件触发UI更改,因此如

我有一个DreamService,我想在后台线程完成后开始更新一些UI内容(我正在引发一个事件来触发它)。 在我的应用程序的主版本中,我只使用RunOnUiThread从事件启动UI更新,但dreamService不是活动的后代,因此没有这样的方法。 奇怪的是,我没有出错,我只是得到一个空白屏幕。 在我的catlog中,我看到来自UI代码的警告,但它们是“空的”(没有消息,我只看到“W at com.my.app”3次,不同的代码行)


我认为最有可能的原因是从线程中引发的事件触发UI更改,因此如何在Dreamservice中进行UI线程更新?

感谢njzk2为我指明了正确的方向。我找到了答案,特别是:

Handler handler = new Handler(Looper.getMainLooper());
handler.post(something_to_run_on_main_thread);

从ui线程创建一个处理程序(比如onCreate)并在其上发布。好的,我尝试添加一个处理程序并从事件触发器发送消息-现在在Catlog中,我得到了关于只有创建它的线程才能接触视图的警告,所以我认为您的思路是正确的,我将继续播放。