您的位置:首页 > 移动开发 > Android开发

Android AlarmReceive的启动和关闭

2016-07-26 10:57 369 查看
AlarmReceiver的启动

AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);

intent1  = new Intent(MyService.this,AlarmReceiver.class);//在这里intent1 要设置为全局变量方便其他地方的使用,在开头设置 public static Intent intent1;

Bundle data = new Bundle();

data.putString("name",name)..........................//这里进行参数的传递

intent1.putExtras(data);

pendIntent = PendingIntent.getBroadcast(MyService.this,0,intent1,PendingIntent.FLAG_UPDATE_CURRENT);//这里pendIntent必须设置为全局变量,为以后关闭AlarmReceiver做准备 public static PendingIntent pendIntent;

//设置广播发送时间,5秒一次

long triggrtAtTime = SystemClock.elapsedRealtime()+5*1000;

alarmgr.set(AlarmManager.ELAPSED,triggerAtTime.pendIntent);//最好把这些代码写在try .....catch(Exception e)......里面 方便异常的获取

AlarmReceiver的关闭

AlarmManger alarm = (AlarmManger)getSystemService(Context.ALARM_SERVICE);

alarm.cancel(pendIntent);//这里用的pendIntent 就是我们前面设置的全局变量,如果启动和关闭不在 同一个类里面 可以用  类名.pendIntent 来关闭AlarmReceiver

AlarmReceiver类

public class AlarmReceiver extends BroadcastReceiver{

@Override

public void onReceiver(Context arg0,Intent arg1){

try{

//在这里面进行 相应的数据操作

}catch(){

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: