gpt4 book ai didi

android - 永远在后台运行服务..?安卓

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:00 28 4
gpt4 key购买 nike

我正在对 Android 手机进行电池消耗研究。我想每 10 分钟运行一次电池检查,直到电池完全耗尽。我在让它工作时遇到了问题。

在我的第一次尝试中,我在服务类中使用了一个计时器,并安排每 10 分钟检查一次电池。但是很快我发现服务在屏幕熄灭时暂停了。

然后我尝试使用 AlarmService,我使用闹钟调用每 10 分钟唤醒我的服务并检查电池电量并将数据保存到 sdcard 上的文件中。它适用于屏幕关闭。但是,我只得到了 9 个小时的数据......似乎 AlarmService 在几个小时后的某个时间点停止了。不知道为什么会这样,是不是系统内存问题kill掉了?

所以我的问题是,以前有没有人写过一些服务在后台运行(比如永远)?你是怎么做到的,我非常感谢你提供示例代码?

我目前正在阅读一些帖子,说我可以使用部分唤醒锁来保持服务 Activity 。这是正确的方法吗?

非常感谢,我希望能在这里得到一些有用的答案。

最佳答案

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 触发的工作时——您需要保持 WakeLock .

Here is a project这几乎完全符合您对 AlarmManager 的描述,减去检查电池电量,但使用 WakefulIntentService 来确保设备保持唤醒状态。如果在电池关闭之前无法运行此代码,请加入 cw-android Google Group并报告你的发现,我会看一看。

关于android - 永远在后台运行服务..?安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2322643/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com