我已经创建了一个服务(S),它承载一个ContentObserver(C)。 C跟踪一些数据并记录对数据库所做的更改(D)。睡眠服务与内容服务器
S还有一个定时器,它将D的内容按定时间隔转储到文件中。
我有我的服务在我的手机上运行,一段时间(一两个小时左右)似乎都很好。然后突然停止记录对数据所做的更改并停止将其转储到文件。 我试着改变数据(在C上挑起onChange)并在手机中浏览以保持设备清醒,但没有发生任何事 - 服务stil不活动。 S仍在运行,当我连接到我的笔记本电脑时,我在日志中看到没有错误。
我的猜测是该服务正在休眠(不会获得CPU片)。我已经读了一些关于唤醒锁,但我不想强迫手机一直醒着。 ()。 另一种方法是创建一个重复的警报,每T分钟执行一次C的工作(轮询)。 我更喜欢ContentObservers的想法,因为用户可以更改(尤其是删除)更新之间的数据。通过ContentObserver,我将获得所有更改,而不仅仅是定时间隔内的快照。
关于如何在常规基础上唤醒我的服务的任何想法?
问候 弗雷德里克
嗨埃里克。该应用程序已经是服务(如我的问题所述)。我的问题是,这项服务睡着了,因此停止监测数据。我试图用相应的接收器注册一个闹钟。接收者然后以意图呼叫该服务。有没有其他解决方法呢? – Frederik
@Frederik Di你得到的回答是“我的问题是这个服务睡着了,因此停止监视数据,我试图用相应的接收器注册一个警报,然后接收者打算用意图调用服务。在这附近?“。 – dira
@ becomputer06不,我没有得到任何答案。正如你所建议的那样,我的解决方法是创建一个警报。自从我问这个问题已经有一段时间了,我希望更新的API能够适应这种需求。 – Frederik