Java +安卓 定时任务

作者: 方志朋 | 来源:发表于2016-07-28 17:17 被阅读129次

1.android 自带闹钟定时任务

安卓闹钟可以配合广播来实现(不推荐),系统资源浪费,安卓系统在5.0以后的定时
任务貌似触发时间不准了,因为了为了省电。

//获取系统闹钟
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(ReportDetailsActivity.this, ReportDetailsActivity.MyReceiver.class);
pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0);
//开启定时任务
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000, 5 * 1000, pendingIntent);

记得在manifeast 文件配置该广播

public static class MyReceiver extends BroadcastReceiver {

       @Override
       public void onReceive(Context context, Intent intent) {
            if (bo > 0) {
                if (bo > 240) {//刷票
                    handler.sendEmptyMessage(3);//弹窗警告 刷票
                } else {
                    handler.sendEmptyMessage(2);
                }
           }

        }
    }

在OnDestroy()中取消闹钟

 @Override
protected void onDestroy() {
    alarmManager.cancel(pendingIntent);
}

2.开启Thread

睡5s中去定时操作任务。

class MyRunnable  implements Runnable{

        @Override
        public void run() {
            while (isLoop){
                try {

                    if (bo > 0) {
                        if (bo > 240) {//刷票
                            handler.sendEmptyMessage(3);//弹窗警告 刷票
                        } else {
                            handler.sendEmptyMessage(2);
                        }
                    }
                    Thread.sleep(5000);
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
    }

在onCreate()方法中开启:

loopThread=new Thread(new MyRunnable());
loopThread.start();

在页面销毁时终止掉该Thread

isLoop=false;
loopThread.interrupt();

3. 使用timer类。

开启timer

 Timer timer=new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
            //TODO ...

            }
        },new Date(),5000);

终止timer

  timer.cancel();

以上三种定时任务除了第一种不要随便使用外,推荐使用第三种和第二种。

csdn博客

我的微信公众号:行走的那些事,欢迎大家扫一扫。


行走的那些事

相关文章

  • Java +安卓 定时任务

    1.android 自带闹钟定时任务 安卓闹钟可以配合广播来实现(不推荐),系统资源浪费,安卓系统在5.0以后的定...

  • 安卓编程技巧:安卓SDK内含的四种定时器的实现方法

    安卓编程技巧:安卓SDK内含的四种定时器的实现方法 ​ 定时器适合用来执行一些耗时,非常短的任务。如果你有一个操作...

  • Android(一)--如何学习安卓

    一、java基础 安卓是用java来编写的,所以java对安卓的重要性不言而喻了,但做安卓开发学会安卓基础部分基本...

  • Java定时任务调度工具详解

    本篇内容:什么是定时任务调度?Java定时任务调度工具详解之 Timer篇Java定时任务调度工具详解之 Quar...

  • Android-日常问题汇总

    小米手机显示安卓失败之类开发者选项允许usb安卓 java.lang.RuntimeException: java...

  • Spring Boot 定时任务

    为什么需要定时任务 生活中定时任务的需求越来越多,场景也越来越多 如何实现定时任务 Java自带的java.uti...

  • java定时器

    java定时器 什么是Java定时器?Java 定时器就是在给定的间隔时间执行自己的任务; Java实现定时器有以...

  • AndroLua 介绍

    官方介绍AndroLua可以在安卓平台上的用 Lua 开发安卓程序,不仅支持调用Java API,而且支持编写安卓...

  • Day 11

    通过越来越深入学习安卓,感觉Java语言还是要好好学,毕竟安卓语言还是要有Java基础的。

  • Dubbo——时间轮(Time Wheel)算法应用

    定时任务 Netty、Quartz、Kafka 以及 Linux 都有定时任务功能。 JDK 自带的 java.u...

网友评论

    本文标题:Java +安卓 定时任务

    本文链接:https://www.haomeiwen.com/subject/ncbajttx.html