获取MAC地址Android崩溃APP

时间:2014-01-15 09:04:01

标签: android

我正在尝试用这个获取Eclipse android模拟器的Wifi网络的MAC地址:

WifiManager wifiManager = (WifiManager) LoginActivity.this.getSystemService(WIFI_SERVICE);
            WifiInfo wInfo = wifiManager.getConnectionInfo();
            String macAddress = wInfo.getMacAddress(); 
            System.out.println("HI");
            System.out.println(macAddress);

这是android清单权限

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

当执行到达时

System.out.println(macAddress);

应用程序崩溃了java nullpointerexception并关闭它。

出错了什么?我必须在模拟器中添加wifi锥度?

1 个答案:

答案 0 :(得分:2)

关于WifiManager.getConnectionInfo()的文件声明:

  

返回有关当前Wi-Fi连接的动态信息(如果有)   很活跃。

这意味着,在这种情况下,您需要检查WifiInfo是否不是null,以及您的设备是否已有效连接到Wi-Fi网络。对于模拟器,MAC地址始终为null,因此您应确保输出的内容有效。