定时轮询任务 比如用于心跳
来源:互联网 发布:支付宝 for mac版下载 编辑:程序博客网 时间:2024/05/22 05:10
public class AlarmUtil {
//开启轮询服务
public static void startAlarm(Context context, int seconds, Class<?> cls,String action) {
//获取AlarmManager系统服务
AlarmManager manager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
//包装需要执行Service的Intent
Intent intent = new Intent(context, cls);
intent.setAction(action);
PendingIntent pendingIntent = PendingIntent.getService(context, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
//触发服务的起始时间
long triggerAtTime = SystemClock.elapsedRealtime() + seconds * 1000;
//使用AlarmManger的setRepeating方法设置定期执行的时间间隔(seconds秒)和需要执行的Service
manager.setRepeating(AlarmManager.ELAPSED_REALTIME, triggerAtTime,
seconds * 1000, pendingIntent);
}
//停止轮询服务
public static void stopAlarm(Context context, Class<?> cls, String action) {
AlarmManager manager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, cls);
intent.setAction(action);
PendingIntent pendingIntent = PendingIntent.getService(context, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
//取消正在执行的服务
manager.cancel(pendingIntent);
}
}
//开启轮询服务
public static void startAlarm(Context context, int seconds, Class<?> cls,String action) {
//获取AlarmManager系统服务
AlarmManager manager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
//包装需要执行Service的Intent
Intent intent = new Intent(context, cls);
intent.setAction(action);
PendingIntent pendingIntent = PendingIntent.getService(context, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
//触发服务的起始时间
long triggerAtTime = SystemClock.elapsedRealtime() + seconds * 1000;
//使用AlarmManger的setRepeating方法设置定期执行的时间间隔(seconds秒)和需要执行的Service
manager.setRepeating(AlarmManager.ELAPSED_REALTIME, triggerAtTime,
seconds * 1000, pendingIntent);
}
//停止轮询服务
public static void stopAlarm(Context context, Class<?> cls, String action) {
AlarmManager manager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, cls);
intent.setAction(action);
PendingIntent pendingIntent = PendingIntent.getService(context, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
//取消正在执行的服务
manager.cancel(pendingIntent);
}
}
0 0
- 定时轮询任务 比如用于心跳
- AlarmManager定时重复任务,发送心跳
- Spring与Quartz的结合使用 主要用于定时任务!!!
- corn表达式——用于设置定时任务
- 定时任务轮询(spring Task)
- spring定时任务轮询(spring Task)
- spring定时任务轮询(spring Task)
- Android心跳轮询
- mycat心跳任务流程图
- swoole_client定时发送心跳包
- 轮询与心跳机制
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- HTML Lists
- web浏览器阅读pdf文件的两种方式
- osgi
- ccflow 流程设计器登录
- cocos2dx 用字符串创建按钮之 ControlButton
- 定时轮询任务 比如用于心跳
- 连接字符串用join而不用’+’(python)
- NS_DEPRECATED_IOS 编码中处理
- Xcode中SVN不能提交.a文件的解决方法
- ActiveMQ之三:启动ActiveMQ的Broker
- WebPage
- FZU 2150 Fire Game
- SAP Content Server
- GStreamer的AppSrc的简单使用