在Android应用开发中,实现在某个时间处理特定事件的实现方法有多种。本文从AlarmManager的角度做简要说明,先看处理的核心代码:

// AutoAlarmReceiver是一个BroadcastReceiver,用来接收系统的通知和启动相应的服务来完成一定的操作Intent intent = new Intent(this, AutoAlarmReceiver.class);PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);Calendar calendar = Calendar.getInstance();calendar.setTimeInMillis(timeInMillis);alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), IParameter.AUTO_ALARM_INTERVAL_7_DAYS, sender);

具体方法就不说明含义了,详见开发者文档。当然也可以设置成单次警报,只要调用AlarmManager的set方法即可。

如果需要停止某个循环警报的方法如下:

        Intent intent = new Intent(this, AutoAlarmReceiver.class);PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);alarmManager.cancel(sender);

注意:

        PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);        ·此处的第二个参数要和设置循环警报时的参数要一致。

关于AutoAlarmReceiver的定义就比较简单,如下:

public class AutoAlarmReceiver extends BroadcastReceiver {public static boolean isRepeat;@Overridepublic void onReceive(Context context, Intent intent) {// 某些操作}}

不要忘记在Manifest文件中声明Receiver哦,如下:

<receiver android:name=".your-path.AutoAlarmReceiver" />

更多相关文章

  1. 下载google play apk的方法
  2. SDK大全2的读书笔记
  3. android 系统搜索框的使用及获取输入
  4. 如何使用SQLiteOpenHelper
  5. 【Android(安卓)Developers Training】 22. 与其他fragment通信
  6. android 源码 来电流程 详解
  7. Android(安卓)Application 和Webview 之间的交互
  8. Android解析json数据的几种方法
  9. EventBus的简单用法及介绍

随机推荐

  1. Android仿音乐播放器功能
  2. Android studio使用心得(二)--- 打包签名
  3. android.os包中一些类的使用
  4. Android自定义view七时间轴(三)---纵向的图
  5. 打开android 系统联系人
  6. android解决部分手机无法通过uri获取到相
  7. Android判断App是否在前台运行
  8. Android(安卓)OpenGL ES材质及光照示例
  9. 跑马灯结合TextSwitcher实现系统公告栏
  10. mac 搭建APK反编译环境