温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android获取热点主机ip和连接热点手机ip的代码

发布时间:2020-09-21 13:33:05 来源:脚本之家 阅读:266 作者:ChinaWallace 栏目:移动开发

其中定义WIFI AP的几个状态

public static final int WIFI_AP_STATE_DISABLING = 10;  
public static final int WIFI_AP_STATE_DISABLED = 11;  
public static final int WIFI_AP_STATE_ENABLING = 12;  
public static final int WIFI_AP_STATE_ENABLED = 13;  
public static final int WIFI_AP_STATE_FAILED = 14;  

对应于WifiMangaer.java中对这几个状态的定义。

获取WIFI热点的状态:

public int getWifiApState(Context mContext) {  
  WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);  
    try {  
      Method method = wifiManager.getClass().getMethod("getWifiApState");  
      int i = (Integer) method.invoke(wifiManager);  
      Log.i(TAG,"wifi state: " + i);  
      return i;  
    } catch (Exception e) {  
      Log.e(TAG,"Cannot get WiFi AP state" + e);  
      return WIFI_AP_STATE_FAILED;  
    }  
  }  

判断Wifi热点是否可用:

private ArrayList<String> getConnectedHotIP() { 
  ArrayList<String> connectedIP = new ArrayList<String>(); 
  try { 
    BufferedReader br = new BufferedReader(new FileReader( 
        "/proc/net/arp")); 
    String line; 
    while ((line = br.readLine()) != null) { 
      String[] splitted = line.split(" +"); 
      if (splitted != null && splitted.length >= 4) { 
        String ip = splitted[0]; 
        connectedIP.add(ip); 
      } 
    } 
  } catch (Exception e) { 
    e.printStackTrace(); 
  } 
  return connectedIP; 
} 
//输出链接到当前设备的IP地址 
public void printHotIp() { 

  ArrayList<String> connectedIP = getConnectedHotIP(); 
  StringBuilder resultList = new StringBuilder(); 
  for (String ip : connectedIP) { 
    resultList.append(ip); 
    resultList.append("\n"); 
  } 
  System.out.print(resultList); 
  Log.d(TAG,"---->>heww resultList="+resultList); 
} 

当然在应用中要添加访问WIFI设备的权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

获取热点主机ip地址的代码:

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
      DhcpInfo info=wifiManager.getDhcpInfo();
      System.out.println(info.serverAddress);

总结

以上所述是小编给大家介绍的Android获取热点主机ip和连接热点手机ip的方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI