如何在Android应用程序中列出所有连接的节点(使用WIFI)?

时间:2013-09-03 09:05:23

标签: android networking android-wifi wireless android-wireless

可以在我的Android应用程序中列出所有连接的节点(使用wifi连接到局域网的机器)?。

2 个答案:

答案 0 :(得分:0)

试一试......

这会对你有所帮助

获得所有类型的网络连接......

 public boolean checkNet() 
 {
   ConnectivityManager cm = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo netWifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    if (netWifi != null && netWifi.isConnected()) {
      return true;
    }

    NetworkInfo netMob = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    if (netMob != null && netMob.isConnected()) {
      return true;
    }

    NetworkInfo netActive = cm.getActiveNetworkInfo();
    if (netActive != null && netActive.isConnected()) {
      return true;
    }

    return false;
  }

答案 1 :(得分:0)

您可以通过以下代码实现它,

这段代码在java中很有用,所以不太确定 它也适用于Android。

public void getAllNodes(String subnet)
{

int pingTime = 1000;
   String nodeName =“”;
   for(int i = 1; i <254; i ++)
{
 String host = subnet +“。” + i;
       if(InetAddress.getByName(host).isReachable(pingTime))
      {
           nodeName + = host;
      }
   }
}

只需将此方法称为getAllNodes(“192.168.0”);