android定时器结束,定时器任务在android中无限期后停止运行

我是android的新手.我正在开发一个应用程序,其中一个特定的代码片段在后台每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);

};

解决方法:

在我看来,你应该使用带有IntentService的AlarmManager来安排重复后台任务而不是Timer任务. Timer不可靠,并且在Android Framework中并不总能正常工作.此外,如果手机处于睡眠状态,计时器将不会执行.您可以通过AlarmManager唤醒手机以执行代码.

看到:

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

标签:android,timer,service,timertask,background-service

来源: https://codeday.me/bug/20190620/1247161.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值