昨天和今天我试图从我的服务中解决问题。我读了很多关于这个问题的话题(当我每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();