FireflyApi timer
3.7 定时开关机
定时开关机已经在系统里面内置了一个定时开关机apk,通过与其交互实现了几种定时开关机的功能
注:rk3399 平台不支持预置定时开关机功能
3.7.1 预置定时开关机功能
- 设置一次定时开机
函数:public void setPowerOnAlarm(boolean enabled,long alarm_time)描述:指定UTC时间,设置定时开机,仅一次不会重复参数:enabled 开启/关闭alarm_time 开机时间(UTC时间)范例:mFireflyApi.setPowerOnAlarm(true,System.currentTimeMillis()+60);//设置1分钟后开机
- 设置重复定时开机
函数:setPowerOnAlarmRepeat( boolean enabled,int hour, int minutes,DaysOfWeek daysofweek)描述:以周为单位,设置循环的定时开机的时间参数:enabled 开启/关闭hour 开机时间的小时minutes 开机时间的分钟daysOfWeek 以周为单位重复,设置定时开机的日期SUNDAY -> MONDAY0b1111111范例:mFireflyApi.setPowerOnAlarmRepeat(true,10,30,0b1000011);//设置周一、二、日10点30分开机
- 获取定时开机状态
函数:public Alarm getPowerOnAlarm()描述:获取定时开机状态范例:Alarm powerOnAlarm =mFireflyApi.getPowerOnAlarm();
- 设置一次定时关机
函数:public void setPowerOffAlarm(boolean enabled,long alarm_time)描述:指定UTC时间,设置定时关机,仅一次不会重复参数:enabled 开启/关闭alarm_time 关机时间(UTC时间)范例:mFireflyApi.setPowerOffAlarm(true,System.currentTimeMillis()+60);//设置1分钟后开机
- 设置重复定时关机
函数:setPowerOffAlarmRepeat( boolean enabled,int hour, int minutes,DaysOfWeek daysofweek)描述:以周为单位,设置循环的定时开机的时间参数:enabled 开启/关闭hour 开机时间的小时minutes 开机时间的分钟daysOfWeek 以周为单位重复,设置定时开机的日期SUNDAY -> MONDAY0b1111111范例:mFireflyApi.setPowerOffAlarmRepeat(true,10,30,0b1000011);//设置周一、二、日10点30分关机
- 获取定时关机状态
函数:public Alarm getPowerOffAlarm()描述:获取定时开机状态范例:Alarm powerOffAlarm =mFireflyApi.getPowerOffAlarm();
如果以上的功能无法满足您的需求,可以使用一下接口,自己做逻辑实现功能。此接口只是最基本的定时开关机功能,由传入的id控制开启/关闭,重启后失效需要手动再次设置
3.7.2 自定义开关机接口
-
设置定时开机
函数:public void setSchedulePowerOn(int id,boolean enabled,long alarm_time)描述:设置定时开机,id由用户定义,用于开启和关闭定时开机时使用,重启后失效需要重新设置参数:id 定时开机idenabled 开启/关闭alarm_time 开机时间(UTC时间)备注: 通过多组定时开机id,可以实现多组定时开机功能范例:mFireflyApi.setSchedulePowerOn("12",true,System.currentTimeMillis()+60);//设置1分钟后开机,id为12mFireflyApi.setSchedulePowerOn("12",true,0);//取消id为"12"操作 -
设置定时关机
函数:public void setSchedulePowerOff(int id,boolean enabled,long alarm_time)描述:设置定时关机,id由用户定义,用于开启和关闭定时关机时使用,重启后失效需要重新设置参数:id 定时关机idenabled 开启/关闭alarm_time 关机时间(UTC时间)备注: 通过多组定时关机id,可以实现多组定时关机功能范例:mFireflyApi.setSchedulePowerOff("12",true,System.currentTimeMillis()+60);//设置1分钟后关机,id为12mFireflyApi.setSchedulePowerOff("12",true,0);//取消id为"12"操作