鸿蒙开发之定时器

鸿蒙的定时器分为两种,一种是到时间执行1次,一种是可以重复执行。

一、只执行一次的定时器

//2秒后执行打印
  setTimeout(() => {
      console.log('Timer is end')
    },2000)

如果想取消这个定时器可以

let timerId = setTimeout(() => {
      console.log('Timer is end')
    },2000)

//取消这个timerId对应的定时器
clearTimeout(timerId)

二、重复执行的定时器

//1秒执行一次,重复执行
setInterval(() => {
      console.log('Timer is running')
      
    },1000)

如果想取消重复执行的定时器

//定义count为定时器需要执行的次数
let count = 0
let intervalId = setInterval(() => {
    count++
    console.log('Timer is running'+count)
//当定时器执行的次数>5次就停止定时器
    if (count>5) {
      console.log('Timer is stopped')
        //通过intervalId取消重复定时器
      clearInterval(intervalId)
    }
},1000)

鸿蒙系统的无线定时器应用程序通常涉及到使用HarmonyOS提供的各种服务和API来创建用户界面和处理计时功能。这里是一个简单的示例,展示了如何使用HMS (Huawei Mobile Services) 中的`TimerService`来创建一个基本的无线定时器应用: ```java // 引入必要的HarmonyOS库 import com.huawei.hms.app.hmsservice.TimerService; import com.huawei.hms.common.api.Result; public class MyTimer extends TimerService { private long intervalInMilliseconds; // 定时间隔 @Override protected void onStart() { super.onStart(); // 设置定时任务,比如每5分钟触发一次 intervalInMilliseconds = 5 * 60 * 1000; startTimer(new Runnable() { @Override public void run() { // 这里编写定时任务完成后的操作,比如显示通知或更新UI displayNotification("定时提醒"); // 如果需要周期性执行,再次启动定时器 if (shouldContinue()) { startTimer(this); } } // 检查是否应继续运行定时器 private boolean shouldContinue() { // 根据实际需求判断是否应该停止定时 return true; } }, intervalInMilliseconds); } @Override protected void onStop() { super.onStop(); stopTimer(); // 停止当前的定时任务 } // 其他可能用到的HMS API和事件处理方法... } ``` 请注意,这只是一个基础框架,实际应用可能需要设置接收者、权限管理以及错误处理等部分。此外,你需要在`build.gradle`文件中添加HMS依赖,并确保设备已启用并连接了相应的华为服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值