AlarmManager.POWER_OFF_WAKEUP表示闹钟在手机关机状态下也能正常进行提示功能,所以是5个状态中用的最多的状态之一,该状态下闹钟也是用绝对时间,状态值为4;不过本状态好像受SDK版本影响,某些版本并不支持;
只介绍静态广播方法
一 、使用、设置
//创建Intent对象,action为ELITOR_CLOCK,附加信息为字符串“闹钟时间到”
Intent intent = new Intent("ELITOR_CLOCK");
intent.putExtra("msg","闹钟时间到");
//定义一个PendingIntent对象,PendingIntent.getBroadcast包含了sendBroadcast的动作。
//也就是发送了action 为"ELITOR_CLOCK"的intent
PendingIntent pi = PendingIntent.getBroadcast(this,0,intent,0);
//AlarmManager对象,注意这里并不是new一个对象,Alarmmanager为系统级服务
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
//设置闹钟从当前时间开始,每隔5s执行一次PendingIntent对象pi,注意第一个参数与第二个参数的关系
// 5秒后通过PendingIntent pi对象发送广播
am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),5*1000,pi);
二、MyReceiver extends BroadcastReceiver
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
// TODO Auto-generated method stub
Log.d("MyTag", "到来......................");
String msg = intent.getStringExtra("msg");
Toast.makeText(context,msg,Toast.LENGTH_SHORT).show();
}
}
三、注册静态广播