android: не може да изпрати mms, когато wifi е включен

Искам да изпратя mms в моя проект във фонов режим, пиша кода си така: Как да изпратите изображение чрез MMS в Android?

Но ако wifi е включен, не мога да изпратя своя mms. ако wifi е изключен, мога да изпратя своя mms успешно.

когато wifi е включен, получавам грешка като тази:

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)

Мисля, че използва wifi, за да изпрати моите mms. Опитах по този начин

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

Проблеми със свързването при изпращане на MMS, когато wifi е активен (Android)

Но проблемът все още е актуален, моля, помогнете ми...


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


Отговори (2)


Поправих проблема. Преди да изпратите mms, когато wifi е включен, първо трябва да извикате този метод:

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

Когато връзката е активна, трябва да извикате този метод:

ConnectivityManager.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_MMS,PROXY);

Ако се върне true, можете да изпратите mms успешно.

person Kris    schedule 08.08.2011

Имах подобен проблем, изглежда, че може да е свързан с използването на AndroidHttpClient (в HttpUtils). Замяната му с DefaultHttpClient свърши работа за мен.

person njzk2    schedule 22.11.2011