当wifi处于活动状态时,MMS发送连接问题(Android)

我正在开发一个Android应用程序,它将在不使用本机消息传递应用程序的情况下在内部发送MMS。我一直在使用我在https://android.googlesource.com上找到的本机应用程序中的代码作为指南,并设法创建了一个工作原型。 但是,当手机连接到Wifi时尝试制作HTTP_Post时,我遇到了一个小问题。 在下面的代码片段中,我请求MMS网络功能并等待指示连接处于活动状态的android.net.conn.CONNECTIVITY_CHANGE意图。然后我请求TYIn_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;
我可以让它工作的唯一方法是断开wifi,此时info.isConnected()返回true,我可以继续成功地使HttpPost。但我不认为这是执行此功能的正确方法,因为本机应用程序似乎不这样做。 从我所看到的,本机消息传递应用程序的TransactionService.java使用内部的,不推荐使用的类NetworkConnectivityListener来管理连接,但我在其代码中看不到修改Wifi连接的任何内容。 有没有人对此有类似的问题或知道正确的解决方法? 我注意到在ConnectivityManager文档中有一个连接类型TYPE_MOBILE_MMS但我没有尝试过这个,因为它只支持运行2.2及更高版本的设备,我希望能够支持运行1.6的设备。 非常感激任何的帮助。     
已邀请:
我发现问题与在运行2.0及更高版本的设备上使用android.net.ConnectivityManager.TYPE_MOBILE连接类型有关。有了这些,您需要使用TYPE_MOBILE_MMS,对于1.6设备,只需使用TYPE_MOBILE。 没有必要断开wifi。     
当WiFi数据连接打开时,移动数据连接将关闭。 您需要检查两种类型。     

要回复问题请先登录注册