Android之runnable实现每隔一段时间发送一次指令

实现息屏状态下呼吸灯闪烁

要求:在息屏状态下,指示灯绿色状态下维持3秒,然后红色状态下维持1秒,接着重复前面的状态,直到退出息屏状态,且退出息屏状态时指示灯为绿色。

代码实现:

private static Handler handler=new Handler(); //定义handler变量
private static Runnable runnable;      //定义runnable变量

runable = new Runable(){
    public void run(){
       HitvManager.getInstance().getSystemSetting().GpioCtrl(18,2,true);   //控制指示灯为红色
       Timer timer=new Timer();
       timer.schedule(new TimerTask(){
          public void run(){
            HitvManager.getInstance().getSystemSetting().GpioCtrl(18,2,false);//控制指示灯为绿色
          },1000);//1s后发送指令控制指示灯为绿色,即红色状态维持1s
          handler.postDelayed(this,4000); //每隔4s就会重复一次runnable里的内容
       }
    }
};

//息屏状态下的代码
handler.postDelayed(runnable,1000); //1s后进入runnable状态,也就是每隔4秒发送指令的状态

//退出息屏状态下的代码
handler.removeCallbacksAndMessages(null);	//结束runnable状态,即停止每隔4s发送指令的状态
HitvManager.getInstance().getSystemSetting().GpioCtrl(18,2,false);//控制指示灯颜色为绿色

注意:new Runnable这段代码要写在handler.postDelayed(runnable,1000)和handler.removeCallbacksAndMessages(null);这两句代码之前

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值