Android - 以太网 - 以编程方式

MTu*_*ash 6 settings static android ethernet dhcp

我正在开发一个Android应用程序,将由自定义设备使用,它将具有以太网支持(以及WiFi).

该应用必须启用以太网的设置活动.

请注意,此设置必须由应用程序运行,而不是由android设置运行,因为应用程序将是设备上运行的唯一内容,用户将无法访问后台运行的android.

用户必须能够:1.启用/禁用以太网2.选择DHCP或STATIC 3.如果选择STATIC - 设置IP,网关

问题是我无法以编程方式访问android.net.ethernet,并且没有关于此问题的在线解释.

所以如果有人做过这样的事情,请帮助我走向正确的方向.

谢谢.

Tus*_*kur 5

我知道现在已经很晚了,但它可能会帮助其他人。

我有一些你提到的对我的 android 应用程序的要求。这就是我如何实现一些要点

1. 启用/禁用以太网

//启用以太网

 ifconfig eth0 up
Run Code Online (Sandbox Code Playgroud)

//禁用以太网

 ifconfig eth0 down
Run Code Online (Sandbox Code Playgroud)

3.如果选择STATIC - 设置IP,网关

从 Java 代码中触发这些命令。

su -c ifconfig eth0 172.19.10.105 netmask 255.255.255.0 up
route add default gw 172.19.10.2 dev eth0
Run Code Online (Sandbox Code Playgroud)

您可以使用以下代码执行这些命令。

这里的command变量是上面提到的命令之一。

                Process p;
                try {
                    p = Runtime.getRuntime().exec(command);
                    p.waitFor();
                    BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

                    String line = "";
                    while ((line = reader.readLine())!= null) {
                        output.append(line + "n");
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
                String response = output.toString();
Run Code Online (Sandbox Code Playgroud)

  • 这个需要root吗? (2认同)