Android--Alarm,定时闹钟


package com.example.test0125;

import java.util.Calendar;

import Android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

/**
 * Alarm,定时闹钟
 * @author ZLQ
 *
 */
public class TestAlarm extends Activity {
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  //通过 getSystemService取得服务
  AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

  Calendar ca = Calendar.getInstance();
  ca.set(Calendar.YEAR, 2013);
  ca.set(Calendar.MONTH, 0);
  ca.set(Calendar.DATE, 25);
  ca.set(Calendar.HOUR_OF_DAY, 16);
  ca.set(Calendar.MINUTE, 35);
  ca.set(Calendar.SECOND, 0);

  //取得1970-1-1 0:0 ~目标时间 之间的毫秒数
  long time = ca.getTimeInMillis();

  // PendingIntent升级版的Intent, 普通Intent是马上执行的
  // PendingIntent是在某一个事件触发了之后才去执行的一个Intent
  Intent in = new Intent();
  in.setClass(this, TestAG.class);
 
  //PendingIntent.getActivity(Context context, int requestCode, Intent intent, int flags)
  PendingIntent pen = PendingIntent.getActivity(this, 1, in, 0);

  //时间一到就会触发pen,跳转到TestAG.class
  am.set(AlarmManager.RTC_WAKEUP, time, pen);
 
  //设置隔过久时间再响
  // am.setRepeating(type, triggerAtTime, interval, operation)
  //取消响铃
  // am.cancel(operation)
 }
}

相关内容