我有一个应用程序,它需要设备的mac地址。我得到的Mac地址在棉花糖和轻松下面,但问题与Android牛轧糖和O.所以如何找到MAC。以编程方式在Android Nougat和O中获取设备mac地址
回答
因为6.0和更高版本更改:https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id
为用户提供更高的数据保护,在此 发行版开始,Android的删除程序访问设备的本地 硬件标识使用的Wi-Fi和应用蓝牙API。 WifiInfo.getMacAddress()和BluetoothAdapter.getAddress()方法 现在返回恒定值02:00:00:00:00:00。
要通过 蓝牙和Wi-Fi扫描访问附近的外部装置的硬件识别码,您的应用程序现在必须有 ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限。
行为变化在7.0:
设备所有者可以访问设备标识符。设备所有者可以使用 DevicePolicyManagewr.getWifiMacAddress()访问设备的Wi-Fi MAC地址 。如果设备上启用了Wi-Fi从未 ,则此方法返回空值。
我可以在6棉花糖找到苹果,但不是7N。 –
修改我的答案。现在应该解决了。使用DevicePolicyManager(是的,上面是带有W的DevicePolicyManagewr)。文档中存在拼写错误。 –
一小时后,我就解决了这个问题.....
DeviceAdminReceiver admin = new DeviceAdminReceiver();
DevicePolicyManager devicepolicymanager = admin.getManager(getApplicationContext());
ComponentName name1 = admin.getWho(getApplicationContext());
if (devicepolicymanager.isAdminActive(name1)){
String mac_address = devicepolicymanager.getWifiMacAddress(name1);
Log.e("macAddress",""+mac_address);
}
参考文献:
1)的Android for Work:https://developer.android.com/about/versions/nougat/android-7.0-changes.html
2)DevicePolicyManger: https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#getWifiMacAddress(android.content.ComponentName)
3)DeviceAdminReceiver: https://developer.android.com/reference/android/app/admin/DeviceAdminReceiver.html#getWho(android.content.Context)
快乐编码....
如果“isAdminActive”是错误的,这是什么意思? – GuybrushThreepwood
- 1. 如何在Android上以编程方式从Mac地址获取IP地址?
- 2. 从Android应用获取设备的MAC地址和IP地址
- 3. 以编程方式从android设备获取电脑的IP地址
- 4. 获取设备的MAC地址
- 5. 获取我设备的wifi mac地址?
- 6. 如何在iOS7中以编程方式获取iPhone设备的蓝牙地址
- 7. 如何以编程方式获取iPhone 3G S的MAC地址?
- 8. 如何以编程方式获取iPhone的蓝牙MAC地址?
- 9. 如何获取Android中Wifi连接设备的MAC地址
- 10. 以编程方式查找Wifi路由器范围内设备的MAC地址
- 11. 如何在c#中为Windows Mobile 6.0设备编程获取MAC地址
- 12. 以编程方式更改Mac地址-Android
- 13. 如何以编程方式获取android设备屏幕截图?
- 14. 获取设备连接到局域网的设备的IP地址/ MAC地址
- 15. 如何以编程方式获取WinRT(Windows 8)中的MAC地址?
- 16. 以编程方式在j2me中获取设备信息
- 17. 如何在Xamarin.Forms中获取客户端设备的MAC地址?
- 18. 以编程方式检索infiniband设备的IP地址
- 19. 以编程方式配置Android设备
- 20. 获取设备的IMEI码或/和Mac地址
- 21. 获取建筑物中所有设备的Mac地址
- 22. 如何在android中以编程方式获取设备的经纬度?
- 23. 以编程方式在Android中获取设备操作系统版本
- 24. 如何在Android中以编程方式获取设备的手机号码?
- 25. 如何在IRIX上以编程方式查找MAC地址?
- 26. 以编程方式获取xcode中的设备纵横比
- 27. 获取路由器范围内设备的MAC地址
- 28. 如何通过iOS中的BLE获取设备的MAC地址
- 29. 在android设置中以编程方式获取ownerinfo
- 30. 移动设备MAc地址
这是通过程序或手动发现MAC地址? – Lokesh
以编程方式 –
为什么要投票? –