动开机,网上的介绍就比较少了,因为它需要底层 时钟的支持。前段时间根据客户需求
实现了自动开关机。在这里分享一下。
简介
我的实现是在设置程序里面增加一个接口,让用户设置自动开关机,这个自动开关机的设
置可以参照闹钟的设置。关于自动关机,考虑到关机的时候,用户可能正有一些重要的操
作,那么应该给用户一个机会去取消当前的关机。
)一个 接收如下信息:
自定义的 :设置 !"## 时,通过
$%&'( 设置的一个 ) 时钟。当到设置的关机时间时,之前设置到
$%&'( 的这个 ' 会被广播。我们实现的这个 接收到这个
消息后,就要开始 !"## 流程
*自定义的 :设置 !"' 时,通过
$%&'( 设置的一个 ) 时钟。我们知道 !"' 的应该设置一个
的 $%,那么这个 ) 的 $% 是做什么的呢?其实当用户设置自动关机的
时候,我设置了 + 个时钟,一个是 时钟,用于关机状态下开机;还有一个就是这个
) 时钟。之所以设置这个时钟,其实是这样的,比如说你设置了周一到周五
每天 , 点半自动开机,而周四早上你 , 点就打开了手机,这样到 , 点半的时候,之前设置
的时钟就过期了,如果不重新设置的话,周五早上是不会自动开机的。所以这个时候,之
前设置的 ) 就接收到了这样的信息,在重新设置下次自动开机的时钟。
&- 和 &./'(% 等时间相关的 ':当系
统开机完成或时间、时区发生改变时,都需要重新设置 $%。
+)一个处理 !"##的 ,当 接收到
,我们给用户一个机会去取消当前的自动关机。这个
的作用就是启动一个无背景的页面,给用户提示。同时播放之前用户设置的提示音
或振动。
0)一个 1:显示一个 $( 提示用户要自动关机,并用一个计时器倒计时。当用户
确认关机,或者计时器到时间的时候,就关机。否则取消当前关机,并重设下次自动关机
$%。
+自动关机的实现。自动关机的实现比较简单,这里主要说一下怎么设置 $%,和实现
关机:
)设置自动关机的 $%:
22$%&'(%34$%&'('5
2222222222(1%4'5-&67
222222''''3'"''4
22222222228%''('87
222222''(''!''(''3''(''(4'59
2222222222''''(''-:-7
222222%34$%&'('5
2222222222(1%4'5-&67
222222%4$%&'()%!''(''7
复制代码