2012-02-29 3 views
0

저는 RDM 서비스에서 가져올 몇 가지 새로운 데이터를 알리기 위해 C2DM에 의존하는 앱을 개발하고 있습니다. 성공적으로 C2DM android 기능을 구현했지만 Wi-Fi를 통한 동작은 3G를 통한 연결과 다릅니다. 메시지는 3G를 통해 즉시 수신되지만, Wifi를 수동으로 켜고 ~ 1 분의 "유예 기간"을 갖기 때문에 즉시 수신 할 수 있습니다.WDM 및 3G에서의 C2DM 동작

제 질문은 프로그래밍 방식으로 연결을 다시 시작하거나 알림 가져 오기를 트리거 할 수있는 방법이 있습니까?

EDIT : 나는 1 분 30 초마다 WifiManager.reassociate()를 사용하여 주기적으로 액세스 포인트에 대한 연결을 "재 연결"하는 AsyncTask를 구현했습니다. 하지만이 솔루션의 정확성에 대해서는 확실하지 않습니다.

답변

0

비슷한 문제가 발생했습니다. 일부 상황에서는 C2DM 메시지가 3G를 초과하는 경우 Wi-Fi 연결을 통해 전달되지 않는 것으로 보입니다. 관련 노트에서 필자는 안드로이드 장치가 푸시 연결을 "드롭"하는 것을 보았 기 때문에 메시지가 전달되지 않습니다. (필자의 경우 솔루션은 장치를 비행기 모드로 설정 한 다음 네트워크를 다시 켤 수 있습니다.)

이 푸시 메시지가 실패 할 경우에도 앱이 여전히 작동하도록 C2DM을 사용하는 모든 응용 프로그램이

I (서버에 가끔 폴링이 때문에 메시지/업데이트가 느린 경우에도) 구축되어야한다는 사실을 강화 개인적으로 Wi-Fi 연결을 엉망으로 만들고 싶지는 않습니다. 사용자가 문제를 일으킬 수 있기 때문입니다.