6

MACアドレスを取得するために次のコードを書きました:

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

これは私の電話では完全に機能しますが、Android エミュレーターでは null を返します。これは、Android エミュレーターに MAC アドレスがないためですか?

4

3 に答える 3

4

エミュレーターで bluetooth のものを手に入れようとするときと同じです。MacAdress はなく、null を返す必要があります。実際のデバイスで試してみると、うまくいきます。コードは正しいです。

于 2012-05-22T19:12:56.103 に答える
0

純粋な Java 実装を提供し、WifiManager なしで動作する Utils.java の例を提出したこの投稿を参照してください。コードはエミュレータでも機能します。

Utils.getMACAddress("wlan0");
Utils.getMACAddress("eth0");
Utils.getIPAddress(true); // IPv4
Utils.getIPAddress(false); // IPv6 
于 2012-10-22T08:46:38.750 に答える
0

デフォルトでは、Android エミュレーターはイーサネット接続をエミュレートして実行しますが、Wi-Fi 接続はエミュレートしません。Wifi が有効になっていないため、コードには wifi の MAC アドレスが表示されません。http://kmansoft.com/2010/07/27/debugging-wifi-in-the-emulator/を参照してください。

デバイスのすべてのネットワーク デバイスと MacAddress を表示しようとすると、この回答が非常に役立つことがわかりまし

于 2014-04-02T18:50:24.953 に答える