【问题标题】:How to find out DHCP info on Android for a non-WiFi connection?如何在 Android 上查找非 WiFi 连接的 DHCP 信息?
【发布时间】:2015-10-13 18:31:36
【问题描述】:

我有 Android 设备,它通过以太网连接到网络。如何获取此连接的 DHCP 信息?

【问题讨论】:

    标签: android dhcp


    【解决方案1】:

    对于非 Wifi,没有类似 WifiManager 的类。

    ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Service.CONNECTIVITY_SERVICE);
    
    
                            Log.i("routes ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getRoutes().toString());
                            Log.i("domains ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getDomains().toString());
                            Log.i("ip address ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getLinkAddresses().toString());
                            Log.i("dns address ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getDnsServers().toString());
    

    【讨论】:

      【解决方案2】:

      您应该可以使用ConnectivityManager.getAllNetworks() 来获取已连接的网络阵列: http://developer.android.com/reference/android/net/ConnectivityManager.html#getAllNetworks()

      然后Network.getSocketFactory() 连接您的网络。 SocketFactory 将允许您检查可以在连接上创建的Sockets。

      http://developer.android.com/reference/android/net/Network.html#getSocketFactory()

      从此,只需从SocketFactory.createSocket() 创建一个Socket,它就会包含您想要的信息,例如Socket.getLocalSocketAddress() 等。

      http://developer.android.com/reference/javax/net/SocketFactory.html#createSocket()

      http://developer.android.com/reference/java/net/Socket.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多