private boolean setIpAndMask(String ip,String mask){
Log.i(TAG," ip=" + ip +",mask=" + mask);
// bring toggle the interfaces
IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);
INetworkManagementService service = INetworkManagementService.Stub.asInterface(b);
String[] currentIfaces = new String[0];
try {
currentIfaces = service.listInterfaces();
} catch (Exception e) {
Log.w(TAG, "listInterfaces="+e);
return false;
}
boolean found = false;
for (String currIface: currentIfaces) {
if (currIface.equals(ETH0)) {
Log.d(TAG, "eth0 iface found");
found = true;
break;
}
}
if (!found) {
Log.d(TAG, "eth0 iface NOT found");
return false;
}
InterfaceConfiguration ifcg = null;
try {
ifcg = service.getInterfaceConfig(ETH0);
if (ifcg != null) {
Log.i(TAG,"ifcg first="+ifcg);
InetAddress addr = null;
if (ifcg.addr == null || (addr = ifcg.addr.getAddress()) == null ||
addr.equals(NetworkUtils.numericToInetAddress("0.0.0.0")) ||
addr.equals(NetworkUtils.numericToInetAddress("::0"))) {
addr = NetworkUtils.numericToInetAddress(ip);
} else {
addr = NetworkUtils.numericToInetAddress(ip);
}
ifcg.interfaceFlags = ifcg.interfaceFlags.replace("down", "up");
InetAddress gw = NetworkUtils.numericToInetAddress(mask);
int prelength = computeprefixLength(gw);
Log.i(TAG,"prelength=" + prelength);
ifcg.addr = new LinkAddress(addr, prelength);
ifcg.interfaceFlags = ifcg.interfaceFlags.replace("running", "");
ifcg.interfaceFlags = ifcg.interfaceFlags.replace(" "," ");
service.setInterfaceConfig(ETH0, ifcg);
return true;
} else {
return false;
}
} catch (Exception e) {
Log.w(TAG, "setInterfaceConfig="+e);
return false;
}
}
分享到:
相关推荐
总之,设置Android设备的有线网卡IP地址涉及对系统的深入理解,包括root权限的获取和网络配置文件的编辑。尽管这个过程可能有些复杂,但对于开发和调试工作,它是必不可少的。通过熟练掌握这些技能,你可以在各种...
此方案在android中实现了网卡静态IP设置、有线网和USB无线网卡的切换。源码是增量代码,基于Android 9实现。你需要将源码合入到android系统版本中。0(n_n)0. 软件开发设计:PHP、QT、应用软件开发、系统软件开发、...
### 多网卡IP地址分配冲突问题解析 #### 1. **IP地址冲突的概念** IP地址冲突通常发生在网络中的两个或更多设备被分配了相同的IP地址时。在TCP/IP协议栈中,每个设备都必须有一个唯一的IP地址才能进行有效的网络...
2. **网卡IP地址及位置.reg**:这个文件可能是一个注册表文件,包含了网卡的IP地址信息和相关配置,导入这个文件到注册表可能会显示或修改这些设置。 3. **REGEDIT.TXT**:可能是关于如何使用注册表编辑器的说明或...
用户需要进入设备的网络设置,选择USB网卡作为网络源,进行必要的配置,如设置IP地址、子网掩码、网关等。 在使用过程中,可能会遇到一些常见问题,例如: - 设备不识别USB网卡:这可能是因为驱动不兼容或未正确...
5. 在网络设置中配置USB网卡,例如设置IP地址、子网掩码和默认网关,以及启用网络连接。 在压缩包"USB网卡1.1"中,应包含有驱动程序的安装文件,可能还有使用手册、安装指南、系统需求等文件。用户在安装前应仔细...
4. **配置网络**:驱动安装完成后,用户可能需要通过网络设置界面配置网络参数,例如IP地址、子网掩码、网关和DNS服务器。有些USB网卡驱动会自动配置这些参数,实现“即插即用”。 5. **连接网络**:一旦配置完成,...
对于USB网卡来说,驱动程序尤为重要,因为操作系统需要这些驱动来配置网络设置,如IP地址、子网掩码、默认网关等,并且处理网络数据的接收和发送。 "jp208b驱动,有些包还是有问题,要手动选择100M" 这句话暗示了在...
7. 设置网络连接:如果这是你的主要网络连接,你可能还需要在操作系统中设置网络参数,例如IP地址、子网掩码、网关等,以便能连接到互联网。 总的来说,ASIX AX88772 USB网卡驱动提供了一个灵活的网络连接解决方案...
2. **驱动安装**:在"USB网卡驱动WIN_XP32"这个压缩包中,包含了适用于Windows XP 32位系统的USB网卡驱动程序。用户需要先解压缩文件,然后通过设备管理器或自动安装向导将驱动程序安装到系统中。安装过程中通常需要...
3. **用户界面**(如果有的话):某些驱动程序可能带有一个简单的用户界面,允许用户配置网络设置,如IP地址、子网掩码和默认网关。 在使用USB 2.0 10/100M Ethernet Adaptor时,首先确保计算机的USB接口正常工作,...
2. **登录DSM**:使用浏览器访问群晖NAS的DiskStation Manager(DSM)界面,输入设备IP地址和相应的登录凭据。 3. **套件中心**:在DSM主界面,找到并点击“套件中心”应用,这是安装、更新和管理软件的地方。 4. ...
这一步确保了虚拟网络的IP地址和DNS服务器地址也是自动获取,这样虚拟机才能在NAT模式下正常上网。 知识点二:VMware虚拟机网络配置 在宿主机配置完成后,接下来需要设置虚拟机的网络配置,以确保虚拟机能够正确地...
同时,确保网线连接稳定,以及在网络设置中配置正确的IP地址、子网掩码和默认网关等参数。 总之,USB R9600网卡驱动是确保该型号网卡在Windows和Linux 32位系统上正常运行的关键。其1.1版本的更新可能带来更好的...
如果需要,可以在网络设置中配置IP地址、子网掩码和默认网关等网络参数。 5. 检验:最后,测试网络连接是否正常。可以打开浏览器访问网页,或者通过ping命令检查网络连通性。 值得注意的是,有时可能会遇到驱动兼容...
然后,可以在网络设置中看到新的网络连接选项,配置好IP地址、子网掩码、网关和DNS服务器,就可以开始使用USB网卡上网了。 在使用过程中,可能会遇到的问题及解决方案: 1. 驱动不兼容:确保驱动程序与你的操作...
- 如果网络连接不稳定或速度慢,可以尝试更新驱动程序或检查网络设置,如IP地址和DNS配置。 - 遵循网络安全最佳实践,如定期更新设备固件,防止潜在的安全风险。 在压缩包文件"USB网卡1.1"中,应包含驱动程序安装...
5. **网络连接设置**:安装好驱动后,用户需要在操作系统中配置网络设置,如选择网络模式(自动获取IP地址或静态分配)、设置DNS服务器等,才能成功连接到网络。 6. **故障排查**:如果USB网卡无法正常工作,可能是...
4. 安装完成后,可以通过网络连接设置验证USB网卡是否正常工作,如能获取IP地址并能正常上网,则表示驱动安装成功。 驱动程序的更新对于保持硬件的最佳性能和解决可能出现的问题至关重要。v3.4.3.35版本可能包含了...
网卡驱动通常包括初始化设备、处理数据包发送和接收、设置网络参数(如IP地址、子网掩码和默认网关)等功能。对于USB有线网卡来说,驱动还需要管理USB接口的连接和断开,确保在插入或拔出网卡时不会影响到网络连接。...