2014-03-25 28 views
1

我想知道是否有任何方式来运行后台线程,在所有活动后面工作。我需要在我的移动应用程序的PHP服务器上更新会话,但我不想在每个AsyncTask类的doInBackground中创建会话,但是在某些线程工作在所有活动后面并每隔15分钟连接到服务器,以更新会话,所以我可以将SID存储在数据库中,并在每次需要请求时使用它。Android - 后台线程来更新PHP会话

我阅读了Handler和Service,但据我所知,他们只在特定的活动中工作,而不是在整个应用程序的背景下工作,并且我无法根据需要续订会话。我错了吗?

或者可以用RoboSpice lib以某种方式处理它吗?我听说过它,但从未检查过它的功能。

对不起,如果我错过了类似的问题已经问及回答。

回答

1

RoboSpice旨在使写入后台执行的网络请求变得容易。所以,是的,它有助于从客户端扩展服务器端的会话。

不过,RoboSpice与计时器无关。那么,要实现这一点,你将需要:

  • 使用Android
  • 到告警管理器,然后给它一个悬而未决的意图来唤醒自己
  • 该服务的服务可以使用RoboSpice创建网络请求将扩展服务器的会话。

详情点击这里:http://developer.android.com/training/scheduling/alarms.html

不要忘了从报警经理正确地注销,当你不再需要你的会话扩展,否则你会耗尽电池。

+0

谢谢。上周我用AlarmManager和Service做了它。现在我正在努力做所有必要的事情来关闭应用程序并清除所有内容 - 就像你说的那样,以防止电池耗尽。 – bqr