android在一个单独的进程中用服务更新UI

时间:2014-09-10 05:40:17

标签: android user-interface process android-service

目前,我正在使用服务在后台工作并相应地定期更新UI 该服务每30秒触发一次 避免挂起UI请求....我通过添加以下内容为它指定了一个单独的进程。

android:process=":remote"

但是,在这种情况下,我的UI停止了更新。 需要解决此问题。

1 个答案:

答案 0 :(得分:0)

您可以在活动中以编程方式注册 BroadcastReceiver ,以便从服务中获取数据并更新UI。您可能还希望更新onResume()方法中的UI,以防活动因任何原因暂停,然后被带到前面。

不要忘记您必须在UI线程中更新您的视图,否则将抛出异常。

如果服务工作仅与UI更新相关,您可以考虑在同一活动中使用Timer / TimerTask或Thread,以简化流程。

编辑:如果您正在使用网络服务,请考虑使用单个 AsyncTask 来执行 doInBackground(...),并在 publishProgress(...)

中更新

希望它有所帮助。