2011-01-25 3 views
0

네이티브 메시징 앱을 사용하지 않고 내부적으로 MMS를 보내는 Android 애플리케이션에서 작업하고 있습니다. 나는 https://android.googlesource.com에서 발견 한 네이티브 응용 프로그램의 코드를 사용하여 작동하는 프로토 타입을 만들었습니다. 그러나 휴대 전화가 Wi-Fi에 연결되었을 때 HTTP_Post를 만들려고 할 때 약간의 문제가 있습니다.wifi가 활성 상태 일 때 MMS 전송 연결 문제 (Android)

아래의 코드 조각에서 MMS 네트워크 기능을 요청하고 연결이 활성화되었음을 나타내는 android.net.conn.CONNECTIVITY_CHANGE 인 텐트를 기다립니다. 그런 다음 TYPE_MOBILE에 대한 NetworkInfo를 요청하고 연결되어 있는지 확인합니다. 이것이 내가이 문제를 밟은 곳입니다. wifi가 연결되어있는 경우 info.isConnected()를 호출하면 false가 반환되고 MMS HttpPost는이 게시물이 3G/GPRS 연결을 통해 만들어지기 때문에 만들 수 없습니다. 내가이 일을 얻을 수

ConnectivityManager.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "enableMMS"); 
//wait for android.net.conn.CONNECTIVITY_CHANGE intent 
NetworkInfo info = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
if (!info.isConnected()) 
    return; 

유일한 방법은 info.isConnected()가 true를 돌려 내가 성공적으로 HttpPost를 만들기 위해에 갈 수있는 지적되는 무선 랜을 분리하는 것입니다. 하지만 네이티브 앱이이 기능을 수행하지 않는 것처럼이 기능을 수행하는 올바른 방법이라고 생각하지 않습니다. 네이티브 메시징 앱의 TransactionService.java에서 내부의 비 사용 클래스 인 NetworkConnectivityListener를 사용하여 연결을 관리하지만 Wifi 연결을 수정하는 코드에는 아무것도 표시되지 않습니다.

누구에게도 이와 비슷한 문제가 있었거나 해결 방법이 올바른지 알고 있습니까? ConnectivityManager 문서에 연결 유형 TYPE_MOBILE_MMS가 있지만 2.2 이상을 실행하는 장치에서만 지원되므로 1.6을 실행하는 장치를 지원할 수 있기를 바랍니다.

모든 도움을 주시면 감사하겠습니다.

답변

1

2.0 이상을 실행하는 장치에서 android.net.ConnectivityManager.TYPE_MOBILE 연결 유형을 사용하는 것과 관련이 있다는 것을 알게되었습니다. 이 경우 TYPE_MOBILE_MMS를 사용해야하고 1.6 장치의 경우 TYPE_MOBILE 만 사용해야합니다. 와이파이 연결을 해제 할 필요가 없습니다.

0

WiFi 데이터 연결이 켜지면 모바일 데이터 연결이 꺼집니다. 두 가지 유형을 모두 확인해야합니다.

관련 문제