如何获取任何黑莓设备的IP/MAC地址?

问题描述:

我想找到任何黑莓设备的IP/MAC地址,所以我应该如何得到它programatically.please帮助我。如何获取任何黑莓设备的IP/MAC地址?

public static String getIPAddress() { 

int apnId = 0; 
try { 
    apnId = RadioInfo.getAccessPointNumber("MagicRudyAPN.rim"); 
} catch (RadioException e) { 
    Log.e(e); 
    e.printStackTrace(); 
} 

byte[] ipByte = RadioInfo.getIPAddress(apnId); 
String ip = ""; 
for (int i = 0; i < ipByte.length; i++) { 
    int temp = (ipByte[i] & 0xff); 
    if (i < 3) 
     ip = ip.concat("" + temp + "."); 
    else { 
     ip = ip.concat("" + temp); 
    } 
} 

Log.s(TAG + "Returning IP=" + ip); 
return ip; 

}

参考wifi-ip-address

+0

这是什么MagicRudyAPN.rim。因为上面的代码每次返回的IP地址为0.0.0.0 – 1001 2012-04-03 08:07:22

+0

我可以知道吗我应该如何检索设备的MAC地址? – 1001 2012-04-26 15:09:10

我发现这个代码,我工作得很好......

protected String getIpAddress() { 
    String ip = new String(""); 

    try { 
     int cni = RadioInfo.getCurrentNetworkIndex(); 
     int apnId = cni + 1; // cni is zero based 
     byte[] ipaddr = RadioInfo.getIPAddress(apnId); 
     for (int i = 0; i < ipaddr.length; i++) { 
      int temp = (ipaddr[i] & 0xff); 
      if (i < 3) { 
       ip = ip.concat("" + temp + "."); 
      } else { 
       ip = ip.concat("" + temp); 
      } 
     } 
    } catch (Exception e) { 
     ip = null; 
    } 
    return ip; 
} 

参见:BlackBerry forum