getIpAddress()方法返回IPv4的整数表示?

 白白加黑黑99_889 发布于 2022-12-12 16:49

在下面的代码我试着得到IP他的网络,但我得到的info.getIpAddress();

-25576378

为什么?这是什么?

WifiInfo info = mWiFiMgr.getConnectionInfo();
String ssid;
int strength = WifiManager.calculateSignalLevel(info.getRssi(), 5);
String unit = WifiInfo.LINK_SPEED_UNITS;
int ip_add = info.getIpAddress();
int speed = info.getLinkSpeed();

SME_Dev.. 8

您可以使用此方法获取ip字符串:

private static String getIpAddress(WifiInfo wifiInfo) {
    String result;
    int ip = wifiInfo.getIpAddress();

    result = String.format("%d.%d.%d.%d", (ip & 0xff), (ip >> 8 & 0xff), (ip >> 16 & 0xff),
            (ip >> 24 & 0xff));

    return result;
}

wifiInfo.getIpAddress()返回一个整数.这是可能的,因为IPv4地址包含4个字节(fe 192.168.255.2 ==> 4倍1字节),就像整数在Java/Android中消耗4个字节一样.通过移动给定的整数,您可以确定每个ip的字节值.

1 个回答
  • 您可以使用此方法获取ip字符串:

    private static String getIpAddress(WifiInfo wifiInfo) {
        String result;
        int ip = wifiInfo.getIpAddress();
    
        result = String.format("%d.%d.%d.%d", (ip & 0xff), (ip >> 8 & 0xff), (ip >> 16 & 0xff),
                (ip >> 24 & 0xff));
    
        return result;
    }
    

    wifiInfo.getIpAddress()返回一个整数.这是可能的,因为IPv4地址包含4个字节(fe 192.168.255.2 ==> 4倍1字节),就像整数在Java/Android中消耗4个字节一样.通过移动给定的整数,您可以确定每个ip的字节值.

    2022-12-12 16:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有