android: не может отправлять ммс, когда Wi-Fi включен

Я хочу отправить ммс в моем проекте в фоновом режиме, я пишу свой код следующим образом: Как отправить изображение по MMS в Android?

Но если Wi-Fi включен, я не могу отправить свои ммс. Если Wi-Fi отключен, я могу отправить свои ммс успешно.

когда Wi-Fi включен, у меня появляется такая ошибка:

08-04 11:27:06.460: ERROR/HttpConnectInterface(26830): org.apache.http.conn.ConnectTimeoutException: Connect to /10.0.0.172:80 timed out
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:143)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:359)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at src.mmstest.AndroidHttpClient.execute(AndroidHttpClient.java:280)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at src.mmstest.HttpConnectInterface.sendMMS(HttpConnectInterface.java:119)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at src.mmstest.MmsTest$MmsReceiver$1.run(MmsTest.java:57)
08-04 11:27:06.460: ERROR/HttpConnectInterface(26830):     at java.lang.Thread.run(Thread.java:1019)

Я думаю, что он использовал Wi-Fi для отправки моих ммс. Я пробовал вот так

 ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
connMgr.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
                "enableMMS");

Проблемы с подключением при отправке MMS, когда Wi-Fi активен (Android)

Но проблема все еще не решена, пожалуйста, помогите мне ...


person Kris    schedule 03.08.2011    source источник


Ответы (2)


Я исправил проблему. Перед отправкой ммс, когда Wi-Fi включен, сначала вы должны вызвать этот метод:

ConnectivityManager.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,"enableMMS");

Когда соединение активно, вам нужно вызвать этот метод:

ConnectivityManager.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_MMS,PROXY);

Если он вернет истину, вы можете отправить ммс успешно.

person Kris    schedule 08.08.2011

У меня была аналогичная проблема, казалось бы, она может быть связана с использованием AndroidHttpClient (в HttpUtils). Замена его на DefaultHttpClient помогла мне.

person njzk2    schedule 22.11.2011