在开发软件的过程中,客户提出了一个要求,就是在Mainactivity的一个按键button按下之后进入另一个OtherActivity,在这个OtherActivity完成了功能之后,按键button就不能使能,第二天之后再重新使能。要实现这个功能,首先要实现的就是一个activity更新另一个activity,还有一个就是一个定时的功能。
要实现第一个功能,首先想到的使用handler发送消息,但是在使用过程中遇到一些问题,通过查找资料发现使用BroadCast广播机制也能实现这项功能,当OtherActivity完成功能后向系统发送一个广播,在Mainactivity中接收这个广播,接收到广播后禁止button使能。
还有一个功能就是定时功能,当Mainactivity中的button禁止使能后,经过24小时后button解禁重新使能。一看到这个功能想到的就是利用系统时间,记录下button禁止使能的时间,然后在监控系统时间,等时间到达后button重新使用。但是在功能实现过程中一直不能实现,后来突然想到安卓都有一个闹钟的功能,利用闹钟的机制,定时就能实现这项功能。
两个步骤:
一、手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以在程序中设置某个应用程序在未来的某个时刻被执行。当AlarmManager定时时间到了之后,当初注册的Intent对象将会被系统广播,进而启动目标程序。
二、在程序运行时当需要使用AlarmManager类时,可以通过Context对象的getSystemService(Context.ALARM_SERVICE)方法来获得AlarmManager对象。