Android TV开发中有线网络模块

现在一直在做机顶盒开发,之前做过机顶盒的系统设置APK,现在特地把设置中的有线网络模块的开发思路分享下


文章中介绍的API等是基于Android4.4版本的,向Android5.0以上的版本就不同了,包名有些许变化,貌似变得更简单了


和有线网络相关的内容在包android.net.ethernet.EthernetManager

还有拨号上网的包android.net.pppoe.PppoeManager;
获取方法基本和其它的Manager获取方法一样
ethernetManager=(EthernetManager)activity.getSystemService(Context.ETHERNET_SERVICE);

pppoeManager=(PppoeManager)activity.getSystemService(Context.PPPOE_SERVICE);
设置网络模式有如下几种:

自动获取IP(DHCP方式上网)

EthernetManager.ETHERNET_CONNECT_MODE_DHCP
设置一个静态IP上网

EthernetManager.ETHERNET_CONNECT_MODE_MANUAL
拨号上网

EthernetManager.ETHERNET_CONNECT_MODE_PPPOE

获取到设备的上网方式

ethernetManager.getEthernetMode()

获取到设备的IP地址信息(DHCPINFO类还有很多属性,可以进一步查看)

DhcpInfo info=ethernetManager.getDhcpInfo();
另外如果设置过静态IP地址上网,通过下面的方法可以获取到以前设置过的IP地址(有可能会在静态IP和自动获取IP方式之间切换)

ethernetManager.getSavedEthernetIpInfo();


设置网口的禁用与启用(一般该方法是先调用一次false 如果是启用则再调用一次ture 即是启用的时候关/开各一次)

ethernetManager.setEthernetEnabled(false);
设置上网的模式(如果是自动获取IP则第二个参数传递Null即可)

ethernetManager.setEthernetMode(EthernetManager.ETHERNET_CONNECT_MODE_MANUAL,info);


开发的总体思路是:

前提是先要注册广播接收器哈~

第一步,设置对应的网络模式

第二步,接收系统的广播

第三步,获取网络IP地址等相关信息

第四步,更新UI刷新IP地址等


弄清楚系统发送的几个广播:

有线网络断开的时候将会收到此广播

EthernetManager.EVENT_PHY_LINK_DOWN
有线网络连接时将会收到此广播

EthernetManager.EVENT_PHY_LINK_UP
以DHCP模式获取IP地址并且网络断开时会受到此广播

EthernetManager.EVENT_DHCP_CONNECT_SUCCESSED

以DHCP模式获取IP地址并且网络连接上时会受到此广播

EthernetManager.EVENT_DHCP_CONNECT_FAILED
大意同上
EthernetManager.EVENT_DHCP_DISCONNECT_FAILED

大意同上

EthernetManager.EVENT_DHCP_DISCONNECT_SUCCESSED



以静态IP地址联网方式并且网络连接上时会收到此广播

EthernetManager.EVENT_STATIC_CONNECT_SUCCESSED

以静态IP地址联网方式并且网络连接失败时会受到此广播

EthernetManager.EVENT_STATIC_CONNECT_FAILED

大意同上

EthernetManager.EVENT_STATIC_DISCONNECT_FAILED

大意同上

EthernetManager.EVENT_STATIC_DISCONNECT_SUCCESSED


拨号上网的相关广播(原理基本同上,大家就可以以此类推了~~)

PppoeManager.EVENT_CONNECT_SUCCESSED
PppoeManager.EVENT_CONNECT_FAILED
PppoeManager.EVENT_DISCONNECT_SUCCESSED
PppoeManager.EVENT_DISCONNECT_FAILED


总结下这几个系统广播:其中LINK_UP和LINK_DOWN在我个人实际开发中貌似都没有收到,然后无论是DHCP方式还是静态IP方式联网,失败的广播有多种,那么这几种失败的广播有什么区别?这个还是要以实际调试的为准,以打印的日志为准,不能一概而论,不同的机顶盒,不同的ROOM略微有不同!


对应上面广播接受器的ACTION

网络禁用和启用的设置
EthernetManager.ETHERNET_STATE_CHANGED_ACTION
IP地址获取方式的切换
EthernetManager.NETWORK_STATE_CHANGED_ACTION
拨号上网相关

PppoeManager.PPPOE_STATE_CHANGED_ACTION



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值