2011-01-07 81 views
0

我正在写一个连接到服务器的android操作系统的软件,并应保持连接,直到程序关闭。连接在后台作为服务运行,并且据我所知,android中的服务应该保持连接无限期。Android服务长时间睡眠

然而,几个小时后(时间框架随机出现),该服务因无明显原因断开连接,但似乎没有触发任何断开连接事件。服务器会定期ping连接的设备,我认为这样可以保持服务的活力。

我试过使用WakeLocks似乎没有任何区别,也startForeground()这似乎并没有工作。我试图在一段时间后使用AlarmManager唤醒应用程序,但这感觉像是一种工作。有没有人有任何建议?还是有什么显而易见的错误?

感谢您的帮助提前。

回答

0

据我已经收集的服务在android应该保持连接无限期。

这是不正确的一般。

然而,几个小时后(时间段出现随机),服务断开连接,没有明显的原因,但似乎没有触发任何断开连接事件。

LogCat可能会指示您的进程已终止。

香港专业教育学院尝试使用其不WakeLocks似乎任何区别

由于手机会睡着没有一个,一个WakeLock将是您的应用程序必不可少的,至少,如果你是在WiFi。据我所知,打开3G套接字的入站数据包应能自动唤醒手机,但我没有尝试过。

但是,手机应该比“几个小时”睡得更快,所以我假设您通过其他方式(例如,插入USB)保持设备唤醒。

也startForeground(),这也似乎没有工作

现在应该已经足以让你被杀死,据我所知。当然,权衡是Notification

相关问题