package com.lfk.justwetools.Utils; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; /** * Created by liufengkai on 15/10/19. */ public class AlarmUtil { private static String CODE = "intent_code"; /** * 开启时钟控制 * * @param context * @return */ public static AlarmManager getAlarmManager(Context context) { return (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); } /** * 指定时间后进行更新 * 注意: Receiver 记得在注册 * * @param context */ public static void sendUpdateBroadcast(Context context, int time, String code) { AlarmManager am = getAlarmManager(context); // 60秒后将产生广播,触发UpdateReceiver的执行,这个方法才是真正的更新数据的操作主要代码 Intent i = new Intent(CODE); i.putExtra("code", code); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, i, 0); am.set(AlarmManager.RTC, System.currentTimeMillis() + time * 1000, pendingIntent); } /** * 取消定时执行 * * @param context */ public static void cancelUpdateBroadcast(Context context) { AlarmManager am = getAlarmManager(context); Intent i = new Intent(CODE); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, i, 0); am.cancel(pendingIntent); } }