Skip to content

🌐⚡ 以太网管理(Ethernet)模块 · 开发者指南


🧠 模块介绍

以太网管理模块,为 Android 设备提供以太网接口的智能开关、配置、状态查询等能力,支持企业级批量部署与远程运维。无缝集成 PanelSDK,助力打造高效网络体验。


🛠️ PanelSDK 初始化

java
// 推荐在 Application 或 Activity 中初始化,确保全局唯一
PanelSDK panelSDK = new PanelSDK(this);

🧩 核心方法 · 专业解读

🌈 switchEthernet — 启用/禁用以太网

java
int switchEthernet(boolean enable, String ifname)
参数说明
参数类型说明
enablebooleantrue 启用,false 禁用
ifnameString以太网接口名称,如 "eth0"
返回值说明
返回值说明
0操作成功,已切换以太网状态
-1未知错误
-2设备不支持该功能
-3SDK版本不支持该功能
-4写入系统设置失败
-5服务未启动
-101以太网配置无效
-102以太网共享正在使用
-1301以太网共享上游无效
-1302以太网共享配置无效
其他具体错误码请参考 ErrorCode.java 或 API 文档
典型场景代码
java
int result = panelSDK.switchEthernet(true, "eth0");
if (result == 0) {
    // 🌐 以太网已启用,设备联网!
} else if (result == -1) {
    // ❗ 未知错误,建议检查接口名称和日志
} else if (result == -2) {
    // 🚫 设备不支持该功能
} else if (result == -3) {
    // ⚠️ SDK版本不支持该功能
} else if (result == -4) {
    // ⚠️ 写入系统设置失败,需系统权限
} else if (result == -5) {
    // 🔒 服务未启动,请检查系统服务状态
} else if (result == -101) {
    // ⚠️ 以太网配置无效
} else if (result == -102) {
    // ⚠️ 以太网共享正在使用
} else if (result == -1301) {
    // ⚠️ 以太网共享上游无效
} else if (result == -1302) {
    // ⚠️ 以太网共享配置无效
} else {
    // ❗ 其他错误,参考 ErrorCode.java 或 API 文档
}

🧐 isEthernetEnable — 查询以太网开关状态

java
boolean isEthernetEnable(String ifname)
参数说明
参数类型说明
ifnameString以太网接口名称,如 "eth0"
返回值说明
返回值说明
true以太网已启用
false以太网未启用
典型场景代码
java
boolean enabled = panelSDK.isEthernetEnable("eth0");
if (enabled) {
    // 🌐 以太网已开启,设备可联网
} else {
    // 🚫 以太网未开启,需先启用
}

⚙️ setEthernetConfig — 配置以太网参数

java
int setEthernetConfig(StEthernetConfig config, String ifname)
参数说明
参数类型说明
configStEthernetConfig以太网配置对象
ifnameString以太网接口名称,如 "eth0"
返回值说明
返回值说明
0配置成功
-1未知错误
-101以太网配置无效
-1302以太网共享配置无效
其他具体错误码请参考 ErrorCode.java 或 API 文档
典型场景代码
java
StEthernetConfig config = new StEthernetConfig();
// ...配置参数...
int result = panelSDK.setEthernetConfig(config, "eth0");
if (result == 0) {
    // ⚡ 配置成功,网络参数已生效
} else if (result == -1) {
    // ❗ 未知错误,建议检查配置参数和日志
} else if (result == -101) {
    // ⚠️ 以太网配置无效,请检查配置对象
} else if (result == -1302) {
    // ⚠️ 以太网共享配置无效
} else {
    // ❗ 其他错误,参考 ErrorCode.java 或 API 文档
}

🔍 getEthernetConfig — 获取以太网配置

java
StEthernetConfig getEthernetConfig(String ifname)
参数说明
参数类型说明
ifnameString以太网接口名称,如 "eth0"
返回值说明
返回值说明
StEthernetConfig当前以太网配置对象
典型场景代码
java
StEthernetConfig config = panelSDK.getEthernetConfig("eth0");
if (config != null) {
    // 🌐 获取到当前配置,可用于展示或后续操作
} else {
    // ❗ 获取配置失败
}

🏷️ getEthernetMacAddress — 获取以太网 MAC 地址

java
String getEthernetMacAddress(String ifname)
参数说明
参数类型说明
ifnameString以太网接口名称,如 "eth0"
返回值说明
返回值说明
String当前以太网 MAC 地址
典型场景代码
java
String mac = panelSDK.getEthernetMacAddress("eth0");
if (mac != null && !mac.isEmpty()) {
    // 🏷️ MAC 地址可用于设备识别: ${mac}
} else {
    // ❗ 获取 MAC 地址失败
}

📶 getEthernetConnectState — 获取以太网连接状态

java
int getEthernetConnectState(String ifname)
参数说明
参数类型说明
ifnameString以太网接口名称,如 "eth0"
返回值说明
返回值说明
0断开
1连接中
2已连接
3断开中
4未知
其他具体状态码请参考 StateCode.java 或 API 文档
典型场景代码
java
int state = panelSDK.getEthernetConnectState("eth0");
if (state == 0) {
    // 🔌 断开
} else if (state == 1) {
    // 🔄 连接中
} else if (state == 2) {
    // ✅ 已连接,网络可用
} else if (state == 3) {
    // 🔄 断开中
} else if (state == 4) {
    // ❓ 未知状态
} else {
    // ❗ 其他状态,参考 StateCode.java 或 API 文档
}

🧩 getEthernetDevices — 获取所有以太网端口

java
String[] getEthernetDevices()
返回值说明
返回值说明
String[]以太网设备名称数组
典型场景代码
java
String[] devices = panelSDK.getEthernetDevices();
if (devices != null && devices.length > 0) {
    // 🧩 可遍历所有以太网端口进行批量操作
    for (String device : devices) {
        // 处理每个以太网设备
    }
} else {
    // ❗ 未检测到以太网设备
}

⚡ 专业进阶 · 技术要点

所有方法均为同步调用,返回值可直接判断结果,适合批量自动化脚本。 推荐在具备系统权限的环境下调用,部分功能需 Root 或系统签名。 依赖底层 StEthernetManager,请确保相关依赖已集成并兼容目标设备。 支持企业级批量部署、远程 OTA 网络配置下发。


🏆 专业总结

只需一个 PanelSDK 实例,网络配置随心掌控。无论是批量运维、远程管理还是一键切换,Ethernet 模块让你的设备网络更高效、更智能、更安全!