2014-03-31 3 views

답변

3

ServiceHandler으로 사용하고 싶습니다. 직접 Thread을 사용하는 것은 또 다른 접근법이지만 안드로이드 OS가 메모리를 비워야한다면 더 많이 죽을 것입니다.

boolean stopHandler = false; 

Runnable runnable = new Runnable() { 
    @Override 
    public void run() { 
    // Do whatever you need 
    ... 

    if (!stopHandler) { 
     handler.postDelayed(this, 600000);  // 10 minutes 
    } 
    } 
}; 
+0

괜찮습니까? 이렇게 잘라서 사용할 수 있으며 10 분마다 처리 할 예정입니까? 어디에서 그것을 삽입해야합니까? – Philip

+1

예,'Handler' 문서를 구체적으로'postDelayed'에서 살펴보십시오. '서비스 '안에 넣어야합니다. 이 예는 http://www.vogella.com/tutorials/AndroidServices/article.html – nKn

+0

에 감사드립니다. 할 것이다. 거기에 뭔가 비슷한 걸까요? – Philip

3

아이폰 OS 7에서는 주기적으로 네트워크에서 데이터를 가져 오는 배경의 작업을 예약 할 수 있습니다

Handler 부분은 다음과 같이 될 것이다. This tutorial은 백그라운드 가져 오기 작업을 예약하는 예입니다.

+0

그리고 잠시 후 ios가 차단되지 않습니까? – Philip

+0

실제로 네트워크에서 데이터를 가져 오지 않는 경우 - Apple은 백그라운드 가져 오기를 수행 중이라고 주장하지만 그럴 수 없다고 판단하면 앱을 보지 않습니다. 사람들이 멈추는 곳은'beginBackgroundTaskWithExpirationHandler :'메소드를 사용하려고합니다. 이것은 제한된 시간 밖에 없습니다 - iOS6에서 10 분, iOS 7에서 3 분 – Paulw11

+0

아, 감사합니다! – Philip

관련 문제