2012-11-02 63 views
1

我制作了一个Android应用程序,它使用套接字通过网络发送数据。 我猜测(没有经过测试,因为我没有可以使用的外部IP地址),它与3G协同工作。它绝对用WiFi。不允许在Android套接字应用程序中使用3g

首先:如果我的应用程序与WiFi一起使用,将数据发送到内部IP地址,假如我有一个外部IP地址发送到3G,那么可以安全地假定它适用于3G?当然,我会在有机会的时候测试一下。

第二:如果3G工作,我会怎么做一个选项,用户不允许在应用程序内部使用3G,只有WiFi?

回答

1

第一:它是安全的

二:

private boolean checkOnlyWiFiNetworkConnection() { 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo[] netInfo = cm.getAllNetworkInfo(); 
    for (NetworkInfo ni : netInfo) { 
     if (ni.getTypeName().equalsIgnoreCase("WIFI")){ 
      if (ni.isConnected()){ 
       return = true; 
      } 
     } 
    } 
    return false; 
} 
+0

据我所知,这一段代码只是返回真/假,羯羊或没有无线网络启用?如果同时启用了3G和WiFi,那么将会使用WiFi吗? – user1285334

+0

你的问题没有清楚。你应该检查这个SO回答:http://stackoverflow.com/questions/11662978/how-to-provide-option-to-select-wi-fi-or-gprs-for-network-connectivity-in-androi – sinisha

+0

再次,这只是启用禁用。我想要的是能够确保套接字通过WiFi连接,而不是3G,而不必关闭手机的3G。如果你想要wifi连接,你真的不得不关掉3G吗? – user1285334

相关问题