0
에 내가 한 번 서비스를 실행이 IntentService 코드가 해 ?안드로이드 실행 기능 반복 IntentService
에 내가 한 번 서비스를 실행이 IntentService 코드가 해 ?안드로이드 실행 기능 반복 IntentService
당신은 자신의 스레드에 넣고 그것을 영원히 반복하고 싶을 것입니다.
Thread thread = new Thread()
{
@Override
public void run() {
try {
while(true) {
Thread.sleep(5000); // for the 5 seconds requirement
results = sendGetMessage();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
많은 대안이 있지만 ScheduledExecutorService을 선호합니다. 아래 샘플 코드를 참조하십시오.
ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(1);
// This schedule a task to run every 5 seconds:
scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() {
public void run() {
// Do the actual job:
results = sendGetMessage();
// In case if you need update UI, simply do this:
runOnUiThread(new Runnable() {
public void run() {
// update your UI component here.
myTextView.setText("refreshed");
}
}); // end of runOnUiThread
}
}, 0, 5, TimeUnit.SECONDS);
서비스를 중지하기 전에 실행 가능한 작업을 올바르게 완료하거나 닫으십시오.
미안하지만, 매 5 초마다 repeatadly를 실행하고 싶습니다. –
이것은 또한 나쁜 해결책입니다. 시스템은 결국 스레드를 죽일 수 있습니다 ... –
@AsafNevo, 나는 그것을 허용 할 줄을 추가했습니다. 5 초마다 실행됩니다. – ajacian81