gpt4 book ai didi

android - 计时器任务在 android 中无限期后停止运行

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:11 27 4
gpt4 key购买 nike

我是安卓新手。我正在开发一个应用程序,其中一段特定的代码在后台每 5 秒后执行一次。为了实现这一点,我使用了一个带有定时器的服务,其中有一个定时器任务。有一段时间它工作正常但经过一段时间后我的服务正在运行但计时器任务在android中自动停止。这是我的代码,请帮忙。提前致谢。

    public void onStart(Intent intent, int startid) {
//this is the code for my onStart in service class
int delay = 1000; // delay for 1 sec.

final int period = 5000; // repeat 5 sec.

timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
executeCode();
}, delay, period);

};

最佳答案

在我看来,您应该将 AlarmManager 与 IntentService 结合使用来安排重复的后台任务而不是计时器任务。 Timer 不可靠,在 Android Framework 中并不总是能正常工作。此外,如果手机处于 sleep 状态,定时器将不会执行。您可以让闹钟唤醒手机以使用 AlarmManager 执行您的代码。

参见:

https://developer.android.com/reference/android/app/AlarmManager.html

http://mobile.tutsplus.com/tutorials/android/android-fundamentals-scheduling-recurring-tasks/

http://android-er.blogspot.in/2010/10/simple-example-of-alarm-service-using.html

如果手机重启,您将需要再次触发警报管理器。有关如何执行此操作的确切说明,请参阅本教程:

http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

关于android - 计时器任务在 android 中无限期后停止运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13158163/

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