Android10 获取以太网信息 代码或者demo IP模式、IP地址、网关地址、子网掩码、首选DNS、备选DNS
时间: 2023-09-17 16:11:23 浏览: 146
android获取wifi的IP,子网掩码,网关,dns等信息
5星 · 资源好评率100%
以下是一个获取以太网信息的示例代码:
```
public class EthernetInfoActivity extends AppCompatActivity {
private TextView tvIpMode;
private TextView tvIpAddress;
private TextView tvGateway;
private TextView tvSubnetMask;
private TextView tvDns1;
private TextView tvDns2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ethernet_info);
tvIpMode = findViewById(R.id.tv_ip_mode);
tvIpAddress = findViewById(R.id.tv_ip_address);
tvGateway = findViewById(R.id.tv_gateway);
tvSubnetMask = findViewById(R.id.tv_subnet_mask);
tvDns1 = findViewById(R.id.tv_dns1);
tvDns2 = findViewById(R.id.tv_dns2);
// 获取以太网管理器
EthernetManager ethernetManager = (EthernetManager) getSystemService(Context.ETHERNET_SERVICE);
// 获取IP模式
int ipMode = ethernetManager.getEthernetMode();
if (ipMode == EthernetManager.ETHERNET_CONNECT_MODE_DHCP) {
tvIpMode.setText("DHCP");
} else if (ipMode == EthernetManager.ETHERNET_CONNECT_MODE_MANUAL) {
tvIpMode.setText("静态IP");
}
// 获取IP地址、网关、子网掩码、DNS
EthernetDevInfo devInfo = ethernetManager.getSavedEthernetDevInfo();
if (devInfo != null) {
tvIpAddress.setText(devInfo.getIpAddress());
tvGateway.setText(devInfo.getRouteAddr());
tvSubnetMask.setText(devInfo.getNetMask());
tvDns1.setText(devInfo.getDnsAddr());
tvDns2.setText(devInfo.getDns2Addr());
}
}
}
```
在布局文件中,我们需要添加相应的TextView:
```
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="IP模式:" />
<TextView
android:id="@+id/tv_ip_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="IP地址:" />
<TextView
android:id="@+id/tv_ip_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="网关地址:" />
<TextView
android:id="@+id/tv_gateway"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="子网掩码:" />
<TextView
android:id="@+id/tv_subnet_mask"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="首选DNS:" />
<TextView
android:id="@+id/tv_dns1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="备选DNS:" />
<TextView
android:id="@+id/tv_dns2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
```
运行该示例代码将会显示以太网的IP模式、IP地址、网关地址、子网掩码、首选DNS、备选DNS。
阅读全文