每15秒做一次任务

时间:2018-04-06 07:52:19

标签: java android

昨天和今天我试图从我的服务中解决问题。我读了很多关于这个问题的话题(当我每15秒钟想要不可停止的计时器时),但我找不到任何解决方案。

首先我尝试asynch任务和服务,但是当我断开充电器时,WakeLock仍会暂停。在本主题中,我读到在服务中没有机会这样做。 (Here

现在我尝试使用AlertManager,但我从某些版本的android don中读取了这些内容,以小间隔重复。

我的问题是,我怎么能这样做(15s间隔可以一直运行(睡眠模式,不充电等等))并且android不能停止这个任务。在任何情况下我都需要每15秒定期更新一次。

有人帮我怎么做? 感谢

我在创建服务

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onCreate() {
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wakelock= pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getCanonicalName());
    wakelock.acquire();


    runnable = new Runnable() {
        public void run() {
            while(true) {
                if (!running) return;
                if (updateVillages()) {
                result = true;
                if (isNewVillage()) {
                    if (isNotificationEnable) doNotificate();
                }
                System.out.println("Prebehlo overovanie");
            } else {
                result=false;
                System.out.println("Není internetové pripojenie");
            }
            updateUI();

                try {
                    Thread.sleep(60000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    };



    thread= new Thread(runnable);
    thread.start();

0 个答案:

没有答案