AlarmManager

2016-07-27  本文已影响64人  森码

Android 闹钟

注册闹钟

private void setAlarm() {   
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);    
Intent intent = new Intent(this, AlarmReceiver.class);   
 /**     
 *第二个参数,requestCode,这个值不一样,可以定义多个闹钟    
 *第四个参数,flags,在getService()和getActivity中也有,详情请参看Android API,这里不是我们的重点,但是很重要的flag    
 */    
PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);    
/**     
* 注意这里的时间一定要加上开机之后的时间     
*/   
 long firstTime = 5000 + SystemClock.elapsedRealtime();    
/**
* 5.1之后,默认5000ms之后开始,每60000ms一次
*/
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 60000, sender);}

广播

public class AlarmReceiver extends BroadcastReceiver {    
  @Override    
  public void onReceive(Context context, Intent intent) { 
       Toast.makeText(context, "clock", Toast.LENGTH_SHORT).show();  
  }
}

别忘了在manifest中注册,这个是不报错的。

 <receiver android:name=".alarm.AlarmReceiver" />
上一篇下一篇

猜你喜欢

热点阅读