我遇到了以编程方式检索设备的MAC地址的问题,在任何人提及我已经阅读过的其他帖子之前,例如:
How to find MAC address of an Android device programmatically
但是我尝试在我自己的应用程序中使用代码并使用简单的log.d对其进行测试,结果却发现它没有返回任何内容. “看看这是否有效”的信息,但没有别的.所以我假设mac地址为空.
Log.d("seeing if this works", macAddress2);
我所做的代码如下所示:
//Set onclick listener for the Get Mac Address button
getMac.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String macAddress2 = wInfo.getMacAddress();
macAddress.setText(macAddress2);
}
});
解决方法:
您正在测试哪个Android版本?最新的(2015年10月)Android M preview阻止了应用程序获取Wifi和蓝牙的硬件标识符.
To provide users with greater data protection, starting in this release, Android removes programmatic access to the device’s local hardware identifier for apps using the Wi-Fi and Bluetooth APIs. The WifiInfo.getMacAddress() and the BluetoothAdapter.getAddress() methods now return a constant value of 02:00:00:00:00:00.
通过从/ sys / class / net / wlan0 / address读取Wifi MAC有一个解决方法,但是在Android N中也会阻止它作为claimed by Google.
标签:mac-address,android,java 来源: https://codeday.me/bug/20190829/1764680.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。