Android 获取MAC地址

/**
 * 获取无线网络Mac地址
 *
 * @return
 */
private static String getWifiMac() {
    return readFile("/sys/class/net/wlan0/address").toUpperCase();
}

/**
 * 获取有线网络Mac地址
 *
 * @return
 */
private static String getLocalMac() {
    return readFile("/sys/class/net/eth0/address").toUpperCase();
}

/**
 * 读取文件内容
 *
 * @param filePath
 * @return
 */
private static String readFile(String filePath) {
    StringBuilder sb = new StringBuilder();
    try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
        String line;
        while ((line = reader.readLine()) != null) {
            if (sb.length() > 0) {
                sb.append("\n");
            }
            sb.append(line);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return sb.toString();
}

PS:笔者是在定制安卓设备上面开发,用该方式获取Mac地址没问题。
PS2:手机上因为权限问题很可能获取不了Mac地址,请自行测试。
PS3:不过一般来说,手机上也不用获取有线网络的Mac地址才对。


参考链接:

Android 6.0获取MAC地址

Android获取Root权限和执行Shell脚本

音视频通信相关资料

Android视频直播库

造砖之路———局域网音视频开发的历程,基于android音视频p2p 传输技术


Android 视频通话(一)

Android局域网内的语音对讲


Android调用Jlibrtp库实现RTP发送数据

android硬编码h264数据,并使用rtp推送数据流,实现一个简单的直播-MediaCodec(一)

android硬编码h264数据,并使用rtp推送数据流,实现一个简单的直播-MediaCodec(二)