android中经常会遇到要做一些定时任务,使用android系统的TIME_TICK广播可以很方便的完成需求,TIME_TICK的使用:

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {        @Override        public void onReceive(Context context, Intent intent) {            if (intent.ACTION_TIME_TICK.equals(intent.getAction())) {                //在这里我们可以获取到当前的系统时间与定时任务开始结束时间做对比,并执行相应的定时任务                Log.e(TAG, "onReceive:ACTION_TIME_TICK ");            } else if (intent.ACTION_TIME_CHANGED.equals(intent.getAction())) {                Log.e(TAG, "onReceive:ACTION_TIME_CHANGED ");            }        }};

注册:

 IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_TIME_TICK); filter.addAction(Intent.ACTION_TIME_CHANGED); registerReceiver(broadcastReceiver, filter);

TIME_TICK广播的注册必须使用动态注册,并且一定要记得使用完之后取消注册:

unregisterReceiver(broadcastReceiver);
补充:TIME_TICK每分钟触发一次,在使用中如果对时间的要求比较苛刻可以使用Timer或者是java中的
ScheduledExecutorService实现

更多相关文章

  1. android textview系统默认的颜色值是多少
  2. Android 获取系统权限的代码
  3. 总结系列-Android的文件系统
  4. Android实现自定义的 时间日期 控件
  5. android粗略获得程序运行时间的方法
  6. android 开发 时间选择器TimePicker的使用

随机推荐

  1. Android各类资源收集(持续更新中...)
  2. Android(安卓)Databinding数据绑定框架
  3. Android第三方异步网路加载库AsyncHttpCl
  4. Android(安卓)7.1 APP 启动流程分析
  5. Android(安卓)开发技术周报 Issue#285
  6. Android(安卓)串口开发(一) 串口读写操作
  7. Android monkeyrunner整理
  8. android之样式和主题
  9. Android实现Splash界面全屏效果
  10. Android(安卓)- 布局(layout) 详解