我正在对Android手机进行电池消费研究.我想每10分钟进行一次电池检查,直到电池完全耗尽.我一直有问题让它工作.
在我第一次尝试时,我在服务类中使用计时器,并每10分钟安排一次电池检查.但很快我发现屏幕熄灭时服务暂停了.
然后我尝试使用AlarmService,我每10分钟使用一次报警电话来唤醒我的服务并检查电池电量并将数据保存到SD卡上的文件中.它适用于屏幕关闭.但是,我只获得了9个小时的数据……似乎AlarmService在几个小时之后停止了.我不知道为什么会这样,系统是否因内存问题而将其杀死?
所以我的问题是,有没有人写过一些服务在之前运行(如永远)?你是如何做到的,我非常感谢你的示例代码?
我目前正在阅读一些帖子,说我可以使用部分唤醒锁来保持服务活着……这是正确的方法吗?
非常感谢,我希望我能在这里得到一些有用的答案.
解决方法:
At my first try, I use a timer in a
service class, and schedule the
battery check every 10 mins. But soon
I found that the service got paused
when the screen goes off.
你可能没有拿着WakeLock,所以设备就睡着了.
it seems that the AlarmService stop at
some point after several hours
我很怀疑它.
So my question is, has anyone written
some service to run (like forever) in
the background before?
无法创建将永久运行的服务.应该可以通过AlarmManager创建一个“永远”调用的计划任务.
I am currently reading some posts
saying that there’s a partial wake
lock I can use to keep the service
alive.. is this the correct way to do
it?
我不确定“它”是什么.但是,如果您想让设备保持唤醒状态 – 无论是第一种方法,还是只是在您使用AlarmManager触发工作时 – 您需要保持唤醒锁定.
Here is a project几乎完全按照你对AlarmManager的描述,减去检查电池电量,但使用WakefulintentService确保设备保持清醒状态.如果在电池关闭之前无法运行此代码,请加入cw-android Google Group并报告您的发现,我会看一下.
总结以上是内存溢出为你收集整理的永远在后台运行服务..? Android的全部内容,希望文章能够帮你解决永远在后台运行服务..? Android的所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)