android Timer的使用及AlarmManager的使用区别

Timer的使用:

final Handler handler = new Handler() {
     public void handleMessage(Message msg) {
  if (msg.what == 0) {

     // 要做的事情

}else{return;}
     }
    };
    new Timer().schedule(new TimerTask() {
     @Override
     public void run() {
      Message message = new Message();
      message.what = 0;
      handler.sendMessage(message);
     }
    }, 定时多长毫秒数启动, 间隔多长毫秒数再次启动);

Timer个人感觉不是蛮准..屏幕亮着的时候还是准的,当屏幕休眠 待机的时候 貌似不走了。。 

 

AlarmManager的使用,定时启动一个service:

 Intent intent = new Intent();
  intent.setClass(SmsService.this, BackGroud.class);
  AlarmManager alarmManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);
  final PendingIntent pi = PendingIntent.getService(SmsService.this, 0,
    intent, 0);
  alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, 0, 60000, pi);

一分钟启动一次BackGroud服务 AlarmManager 是闹铃组件 可以一直执行..无论程序启动还是待机

 

 

你可能感兴趣的:(android)