获取Android设备无线和以太网MAC地址

摘要:
包com.raycloud.wolf。博客;importandroid.net.wfi。WifiManager;importandroid.support.v7.app。AppCompatActivity;importandroid.os。捆importandroid.util。日志importandroid.view。看法importjava。
package com.raycloud.wolf.blogformac;

import android.net.wifi.WifiManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class MainActivity extends AppCompatActivity {

    private final String tag = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.wifiMacButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
                Log.d(tag, "WiFi MAC Address: " + wifiManager.getConnectionInfo().getMacAddress());
            }
        });
        findViewById(R.id.ethernetMacButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try (BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream("/sys/class/net/eth0/address")))) {
                    String ethernetMacAddress = input.readLine();
                    Log.d(tag, "Ethernet MAC Address: " + ethernetMacAddress);
                } catch (IOException ex) {
                    Log.e(tag, "ex: " + ex);
                }
            }
        });
    }
}

免责声明:文章转载自《获取Android设备无线和以太网MAC地址》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux性能评估-内存案例实战篇GSAP JS基础教程--使用缓动函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MacOS的包管理神器homebrew使用入门教程

为防止盗链,本文首发于于果的博客,转载请注明出处!原文链接:https://www.cnblogs.com/yuxiuyan/p/14681834.html 导语 homebrew是Mac OS X上的强大的包管理工具,可以高效管理各种软件包,官方说法是:The missing package manager for macOS 。(macOS缺少的软件包...

Mac下的UI自动化测试 (二)

下面讲一下Sikuli的重要概念,就是region,所谓region就是Sikuli在进行图像识别的时候的一个区域,默认是整个屏幕。 当然,如果region选得太大的话,并且UI上存在相似的控件,那么就会造成图像识别的错误。而且region选得过大也会使得代码运行速度下降。 我在实际应用中,region选的是屏幕中间的工作区域,也就是除了最上方的globa...

802.11(wifi)的MAC层功能

            MAC层是802.11的主要功能部分。上层应用通过调用MAC层提供的接口原语调用MAC层的功能。      MAC一共向上提供了2大类接口原语,共30种。数据(1)和管理(29)。数据部分就是提供普通数据包的收发接口,管理部分是主要功能部分,例如发起认证、连接、信道扫描等其它所有管理功能,如下表所示:(并非所有的原语都是可调用的,一...

prometheus学习笔记(1)-mac单机版环境搭建

注:以下所有环境均为mac笔记本 一、安装prometheus brew install prometheus 安装完后,默认的安装路径为: /usr/local/Cellar/prometheus/2.16.0/ 同时还会生成一个默认配置文件:/usr/local/etc/prometheus.yml global: scrape_interva...

mac 命令行大杂烩

一、实用的 1、代替 cat 的工具:bat,支持语法高亮、同时显示行号,使用: bat xx.yyy 安装:brew install bat 2、man 命令的替代品:tldr 安装:brew install tldr 二、好玩的 1、命令行显示动态的火焰,运行: aafire 安装: brew install aalib 2、命令行显示黑客帝国数字雨,...

ios --转载 在mac上安装让rvm及cocoa pods详解

先安装rvm: 打开终端: $ curl -L https://get.rvm.io | bash -s stable (期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)  $ source ~/.rvm/scr...