AlarmManager

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" />
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容