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(二)

使用Android SpannableString设置TextView局部文字颜色

样式文件:

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="欢迎来到枫林的小窝!"/>

代码文件:

private void initTextView() {
    TextView textView = findViewById(R.id.textView);
    SpannableString spannableString = new SpannableString(textView.getText());
    setTextColor(spannableString, "枫林的小窝", Color.BLUE);
    textView.setText(spannableString);
}

/**
 * 设置SpannableString指定文字的颜色
 *
 * @param spannableString
 * @param text
 * @param color
 */
private void setTextColor(SpannableString spannableString, String text, int color) {
    int start = spannableString.toString().indexOf(text);
    int end = start + text.length();
    spannableString.setSpan(new ForegroundColorSpan(color), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}

参考链接:

Android开发 SpannableString开发详解

Android UI——SpannableString详细解析