mtk6771 Android11 以太网修改静态IP后需要网线插拔一下才能上网

博客内容涉及到了对Android系统中以太网服务实现的源代码修改,目的是解决网线插拔后才能上网的问题。作者通过在`EthernetServiceImpl.java`文件中调整`setConfiguration`方法,增加了关闭和重新启动以太网接口的步骤,从而成功解决了该问题。
摘要由CSDN通过智能技术生成

查网上的资料得到修改的方法如下所示:

frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetServiceImpl.java

/**
     * Set Ethernet configuration
     */
    @Override
    public void setConfiguration(String iface, IpConfiguration config) {
		
        if (!mStarted.get()) {
            Log.w(TAG, "System isn't ready enough to change ethernet configuration");
        }
		
        enforceConnectivityInternalPermission();
 
        if (mTracker.isRestrictedInterface(iface)) {
            enforceUseRestrictedNetworksPermission();
        }
 
        // TODO: this does not check proxy settings, gateways, etc.
        // Fix this by making IpConfiguration a complete representation of static configuration.
       
		mTracker.updateIpConfiguration(iface, new IpConfiguration(config));
+		mTracker.removeInterface(iface);//  清除当前端口
+		mTracker.start();  //   启动以太网
	
		
    }

但经过实际测试发现没有效果。再修改一下:

+++ b/frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetServiceImpl.java
@@ -194,6 +194,7 @@ public class EthernetServiceImpl extends IEthernetManager.Stub {
         mTracker.updateIpConfiguration(iface, new IpConfiguration(config));
         //add
         mTracker.removeInterface(iface);
+               mTracker.stop();   // 把以太网关闭
         mTracker.start();
     }

在启动前关闭一下以太网网口,经测试成功解决网线插拔一下才能上网的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值