Android(安卓)AlarmManager简单使用
16lz
2021-01-26
在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" />
更多相关文章
- 下载google play apk的方法
- SDK大全2的读书笔记
- android 系统搜索框的使用及获取输入
- 如何使用SQLiteOpenHelper
- 【Android(安卓)Developers Training】 22. 与其他fragment通信
- android 源码 来电流程 详解
- Android(安卓)Application 和Webview 之间的交互
- Android解析json数据的几种方法
- EventBus的简单用法及介绍