2013-01-02 2 views
3

비동기 호출이 훌륭하며 Quickblox Android SDK를 사용하는 모든 호출이 비동기로되어있어 메인 UI 스레드에서 쉽게 구현할 수 있습니다.안드로이드 취소 비동기 호출

하지만 내 전화가 동기화 어댑터에 의해 이루어지기 때문에 서버 호출을 중단 할 수 있어야하며 프로세스 도중에 취소하거나 중단 할 수 있습니다. Synchronous requests are available

에서 찾아보세요 그리고 자신의 비동기 작업 또는 뭔가에이 호출을 래핑 -

답변

3

당신은 안드로이드 SDK에서 비동기 호출을 사용하지 않도록 설정할 수 있습니다. 그런 다음

당신이 쿼리

+0

감사하지만, 문서별로 프로덕션 제품에 사용해서는 안되며 비동기 기능을 중단 신호와 함께 사용하는 것이 좋습니다. – user1934104

+0

아니요, 훌륭한 기술 개발자라면 이것을 사용할 수 있습니다. 동기화 쿼리는 ANR을 생성 할 수 있으므로이 점에 대해 알고 있어야합니다. –

+0

흥미 롭습니다. 흥미로운 점은 호출이 완료되면 호출이 완료 될 때까지 기다려야 중단 할 수 있다는 것입니다. 다음 질문은 웹 클라이언트 (UrlConnection/HttpDefaultClient)를 호출하기 위해 사용하고있는 것입니다. – user1934104

2

안드로이드 SDK 0.7을 취소 할 수는 출시 된 http://quickblox.com/blog/2013/01/android-sdk-0-7/

지금 바로 쿼리를 취소하려면이 코드를 사용 : 나는,이 옵션에 대해 알고

QBRequestCanceler canceler = QBUsers.getUser(37823232, new QBCallbackImpl() { 
    @Override 
    public void onComplete(Result result) { 
     if (result.isSuccess()) { 
       QBUserResult qbUserResult = (QBUserResult) result; 
       System.out.println(">>> User: " + qbUserResult.getUser().toString()); 
     } else { 
       handleErrors(result); 
     } 
    } 
}); 

...  

// cancel if need 
canceler.cancel();