Android 闹钟机制实现定时任务解决重启失效问题
来源:互联网 发布:软件注册权查询 编辑:程序博客网 时间:2024/04/28 20:37
Android的闹钟实现机制很简单, 只需要调用AlarmManager.set()将闹铃时间记录到系统中,当闹铃时间到后,系统会给应用程序发送广播,我们只需要去注册广播接收器就可以了。
本文分三部分讲解如何实现闹钟:
目录:
1. 设置闹铃时间;
2. 接收闹铃事件广播;
3. 重开机后重新计算并设置闹铃时间;
正文:
1. 设置闹铃时间(毫秒)
private void setAlarmTime(Context context, long timeInMillis) {
AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(”android.alarm.demo.action“);
PendingIntent sender = PendingIntent.getBroadcast(
context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
int interval = 60 * 1000;//闹铃间隔, 这里设为1分钟闹一次,在第2步我们将每隔1分钟收到一次广播
am.setRepeating(AlarmManager.RTC_WAKEUP, timeInMillis, interval, sender)
}
2. 接收闹铃事件广播
public class AlarmReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (”android.alarm.demo.action“.equals(intent.getAction())) {
//第1步中设置的闹铃时间到,这里可以弹出闹铃提示并播放响铃
//可以继续设置下一次闹铃时间;
return;
}
}
}
当然,Receiver是需要在Manifest.xml中注册的:
<receiver android:name="AlarmReceiver">
<intent-filter>
<action android:name="android.alarm.demo.action" />
</intent-filter>
</receiver>
3. 重开机后重新计算并设置闹铃时间
当然要有一个BootReceiver:
public class BootReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
//重新计算闹铃时间,并调第一步的方法设置闹铃时间及闹铃间隔时间
}
}
}
当然,也需要注册:
<receiver android:name="BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
本文分三部分讲解如何实现闹钟:
目录:
1. 设置闹铃时间;
2. 接收闹铃事件广播;
3. 重开机后重新计算并设置闹铃时间;
正文:
1. 设置闹铃时间(毫秒)
private void setAlarmTime(Context context, long timeInMillis) {
AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(”android.alarm.demo.action“);
PendingIntent sender = PendingIntent.getBroadcast(
context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
int interval = 60 * 1000;//闹铃间隔, 这里设为1分钟闹一次,在第2步我们将每隔1分钟收到一次广播
am.setRepeating(AlarmManager.RTC_WAKEUP, timeInMillis, interval, sender)
}
2. 接收闹铃事件广播
public class AlarmReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (”android.alarm.demo.action“.equals(intent.getAction())) {
//第1步中设置的闹铃时间到,这里可以弹出闹铃提示并播放响铃
//可以继续设置下一次闹铃时间;
return;
}
}
}
当然,Receiver是需要在Manifest.xml中注册的:
<receiver android:name="AlarmReceiver">
<intent-filter>
<action android:name="android.alarm.demo.action" />
</intent-filter>
</receiver>
3. 重开机后重新计算并设置闹铃时间
当然要有一个BootReceiver:
public class BootReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
//重新计算闹铃时间,并调第一步的方法设置闹铃时间及闹铃间隔时间
}
}
}
当然,也需要注册:
<receiver android:name="BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
- Android 闹钟机制实现定时任务解决重启失效问题
- Android 闹钟机制实现定时任务
- Android 闹钟机制实现定时任务
- android 定时任务基于闹钟机制
- Android定时任务及闹钟的实现
- android Service重启问题,结合AlarmManager实现定时任务
- 解决iptables重启失效问题
- android,闹钟定时功能,实现过程
- android定时任务实现
- android实现定时任务
- Android 定时任务实现
- android 定时任务 Alarm机制
- WINDOWS2003任务计划实现定时自动重启IIS
- Linux VPS主机利用Crontab实现定时重启任务
- Android--Alarm,定时闹钟
- 解决Linux下DNS配置重启失效问题
- 定时重启MySQL、定时重启Apache [任务计划]
- android定时广播 定时任务 问题
- Weblogic 解析JSP出现This attribute is not recognized.错误
- 配置jdk环境变量
- android 开源的第三方动画库
- Android NDK学习 <六> 复杂结构动态库处理和第三方库的移植
- 畅所欲言第1期 - 从Viola&Jones的人脸检测说起
- Android 闹钟机制实现定时任务解决重启失效问题
- matlab通信系统性能估计(误码率、误比特率、眼图、星座图....)
- 一维数组和指针 array、&array[0]和&array的区别
- BMP文件格式
- 数据库乱码
- JAVA中String与StringBuffer的区别
- Definition of 'Bond Yield'
- 统一消息集成架构,Exchange 2013、Lync 2013、SharePoint 2013
- SQL语句