[android]代码库
//需要添加权限:
//<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
//<uses-permission android:name="android.permission.INTERNET"></uses-permission>
package exp.getipmac;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class GetIPMAC extends Activity
{
public static String hostip; //本机IP
public static String hostmac; //本机MAC
/** Called when the activity is first created. */
@Override
public void onCreate (Bundle savedInstanceState)
{
super.onCreate (savedInstanceState);
setContentView (R.layout.main);
TextView tv = (TextView) findViewById (R.id.hello);
hostip = getLocalIpAddress(); //获取本机IP
hostmac = getLocalMacAddress();//获取本机MAC
/* 本机IP和MAC */
tv.setText ("HostIP:" + hostip + "\nHostMAC:" + hostmac);
/* 打印本机IP和MAC */
if (hostip != null)
{
Log.d ("GetIPMAC", hostip);
}
else
{
Log.d ("GetIPMAC", "null");
}
Log.d ("GetIPMAC", hostmac);
}
public String getLocalIpAddress()
{
try
{
for (Enumeration<NetworkInterface> en = NetworkInterface
.getNetworkInterfaces(); en.hasMoreElements();)
{
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf
.getInetAddresses(); enumIpAddr.hasMoreElements();)
{
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress() )
{
return inetAddress.getHostAddress().toString();
}
}
}
}
catch (SocketException ex)
{
Log.e ("WifiPreference IpAddress", ex.toString() );
}
return null;
}
public String getLocalMacAddress()
{
WifiManager wifi = (WifiManager) getSystemService (Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}
}
初级程序员
by: ETmanwenhan 发表于:2013-04-17 11:17:26 顶(0) | 踩(0) 回复
可以试试!
回复评论