2012-05-22 30 views
5

tôi đã viết đoạn code sau để có được địa chỉ MAC:Trình mô phỏng thiết bị Android có địa chỉ MAC không?

WifiManager wimanager = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
String address = wimanager.getConnectionInfo().getMacAddress(); 
Log.d("TOKEN", address); 

này hoạt động hoàn hảo trên điện thoại của tôi, nhưng trong giả lập Android nó sẽ trả về null. Đây có phải là do trình giả lập Android không có địa chỉ MAC không?

Trả lời

3

Cũng giống như khi bạn cố gắng nắm giữ nội dung bluetooth trên trình mô phỏng. Không có MacAdress và phải trả về null. Thử trên một thiết bị thực và nó sẽ hoạt động. Mã là chính xác.

+0

thanks a lot, trong điện thoại của tôi làm việc erfectly :) – ademar111190

+0

Cảm ơn bạn đã làm cho nó để dễ trợ giúp: P –

0

See this post nơi tôi đã gửi ví dụ Utils.java để cung cấp các triển khai thuần java và hoạt động mà không cần WifiManager. Mã cũng hoạt động trong Trình mô phỏng.

Utils.getMACAddress("wlan0"); 
Utils.getMACAddress("eth0"); 
Utils.getIPAddress(true); // IPv4 
Utils.getIPAddress(false); // IPv6 
0

Theo mặc định, trình giả lập Android chạy mô phỏng kết nối Ethernet, nhưng không phải kết nối wifi. Vì Wifi không được bật, mã của bạn không hiển thị địa chỉ mac wifi. Xem http://kmansoft.com/2010/07/27/debugging-wifi-in-the-emulator/

Tôi tìm thấy câu trả lời này rất hữu ích khi cố gắng xem tất cả các thiết bị mạng và MacAddress trên điện thoại của tôi - https://stackoverflow.com/a/17719579/90236 để xem

Các vấn đề liên quan