-2

Wi-Fiインターフェースを使用してデバイスのMACアドレスを取得しています:

WifiManager wifiMan = (WifiManager) this.getSystemService(
                Context.WIFI_SERVICE);
WifiInfo wifiInf = wifiMan.getConnectionInfo();
String macAddr = wifiInf.getMacAddress();

Wi-FiインターフェースなしでMacアドレスを取得する方法はありますか?

また、私を確認してくださいAndroidデバイスのMACアドレスを変更できますか?

アンドロイドフレームワークがこれらのものをサポートしているかどうかを確認してください。

4

1 に答える 1

0

MACアドレスはネットワークアダプター(WiFiやBluetoothなど)を一意に識別するため、そのアダプターにアクセスしてMACアドレスを取得する必要があります。BluetoothアダプタのMACアドレスを取得するには、次を使用できます。

BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
if (btAdapter != null) {
    String mac = btAdapter.getAddress();
}

このコードにはandroid.permission.BLUETOOTHアクセス許可が必要であり、WiFiアダプターのMACを取得するためのコードにはアクセス許可が必要であることに注意してくださいandroid.permission.ACCESS_WIFI_STATE。また、アダプタをオフにすると、両方のコードが機能しない場合があります。

MACスプーフィング(偽のMACアドレスを返す)に関するこの投稿がありますが、スプーフィングはルート化された電話でのみ実行できます。グーグルで検索すると、MACスプーフィングに関する詳細情報が見つかる可能性があります。

于 2012-04-23T08:35:43.843 に答える