Preciso obter o endereço MAC do meu dispositivo Android usando Java. Pesquisei online, mas não encontrei nada útil.
java
android
mac-address
TSW1985
fonte
fonte
Respostas:
Como já foi apontado no comentário, o endereço MAC pode ser recebido através do WifiManager .
Também não se esqueça de adicionar as permissões apropriadas em seu
AndroidManifest.xml
Consulte as alterações do Android 6.0 .
fonte
Obter o endereço MAC
WifiInfo.getMacAddress()
não funcionará no Marshmallow e acima, ele foi desativado e retornará o valor constante de02:00:00:00:00:00
.fonte
fonte
tem outros aqui
fonte
macAddress
ser semprenull
?Context context
? se sim, qualquer contexto deve funcionar. developer.android.com/reference/android/content/…Eu fundei essa solução em http://robinhenniges.com/en/android6-get-mac-address-programmatically e está funcionando para mim! Espero que ajude!
fonte
Está trabalhando com Marshmallow
fonte
Você pode obter o endereço mac:
Definir permissão em Menifest.xml
fonte
Você não pode mais obter o endereço MAC de hardware de um dispositivo Android. Os métodos WifiInfo.getMacAddress () e BluetoothAdapter.getAddress () retornarão 02: 00: 00: 00: 00: 00. Essa restrição foi introduzida no Android 6.0.
Mas Rob Anderson encontrou uma solução que está funcionando para <Marshmallow: https://stackoverflow.com/a/35830358
fonte
Retirado das fontes Android aqui . Este é o código real que mostra seu ENDEREÇO MAC no aplicativo de configurações do sistema.
fonte
WifiManager
(isto éWifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
).02:00:00:00:00:00
endereço mac, não o wi-fi mac id realUsando este método simples
fonte
Eu sei que esta é uma questão muito antiga, mas existe mais um método para fazer isso. O código abaixo compila, mas eu não tentei. Você pode escrever algum código C e usar JNI (Java Native Interface) para obter o endereço MAC. Aqui está o exemplo de código de atividade principal:
E o arquivo de layout, main_screen.xml:
Arquivo de manifesto, eu não sabia quais permissões adicionar, então adicionei algumas.
Implementação C da função get_mac_addr.
E, finalmente, o arquivo CMakeLists.txt
fonte
Este
ip link | grep -A1 wlan0
comando funciona no Android 9 de Como determinar o endereço de hardware wi-fi no Termuxfonte
Acho que acabei de encontrar uma maneira de ler endereços MAC sem permissão de LOCATION: Executar
ip link
e analisar sua saída. (você provavelmente poderia fazer o mesmo olhando para o código-fonte deste binário)fonte