我有一個應用程序,它需要設備的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
以編程方式 –
爲什麼要投票? –