Android下如何获取Mac地址?
1、需要在AndroidManifest.xml文件中添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
2、Java代码(必须在Activity中使用)
public String getLocalMacAddress() {
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}
Android获取手机IP和MAC地址
[android]代码库
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.widget.TextView; |
public class GetIPMAC extends Activity |
public static String hostip; |
public static String hostmac; |
/** Called when the activity is first created. */ |
public void onCreate (Bundle savedInstanceState) |
super .onCreate (savedInstanceState); |
setContentView (R.layout.main); |
TextView tv = (TextView) findViewById (R.id.hello); |
hostip = getLocalIpAddress(); |
hostmac = getLocalMacAddress(); |
tv.setText ( "HostIP:" + hostip + "\nHostMAC:" + hostmac); |
Log.d ( "GetIPMAC" , hostip); |
Log.d ( "GetIPMAC" , "null" ); |
Log.d ( "GetIPMAC" , hostmac); |
public String getLocalIpAddress() |
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() ); |
public String getLocalMacAddress() |
WifiManager wifi = (WifiManager) getSystemService (Context.WIFI_SERVICE); |
WifiInfo info = wifi.getConnectionInfo(); |
return info.getMacAddress(); |