新建一个类继承BroadcastReceiver,用于接收广播,并作相应的处理
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都网站设计、内蒙古网络推广、微信小程序、内蒙古网络营销、内蒙古企业策划、内蒙古品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供内蒙古建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
class NetChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { System.out.println("网络状态更改"); }else if (action.equals(EthernetManager.ETHERNET_STATE_CHANGED_ACTION)) { System.out.println("网线状态更改"); } } }
在AndroidMenifest.xml的
接收广播只需要以上两个步骤,当然还需要配置权限
完成之后,上面的两个System.out.println();输出内容在控制台是看不到的,因为网络状态更改会导致android设备与电脑的连接断开,故而控制台不会有输出。如果要测试是否能够接收到广播,可以采用其他方式检测,比如
handler.sendEmptyMessage(0);
通知界面弹出信息提示,或者直接打印到屏幕上显示
上面的内容网上很多资料,仅仅一个需要指出的是
由于这个用的比较少,所以网上的资料也很少。下面罗列一下有线连接相关的ACTION
ConnectivityManager.CONNECTIVITY_ACTION //网络状态更改 //对应action.equals(ConnectivityManager.CONNECTIVITY_ACTION) EthernetManager.ETHERNET_START_INTERFACE_ACTION EthernetManager.ETHERNET_STATE_CHANGED_ACTION EthernetManager.ETHERNET_STOP_INTERFACE_ACTION EthernetManager.NETWORK_CONNECTED_ACTION EthernetManager.NETWORK_DISCONNECTED_ACTION EthernetManager.NETWORK_STATE_CHANGED_ACTION //网线状态更改 //对应action.equals(EthernetManager.ETHERNET_STATE_CHANGED_ACTION) //可以相应网线的热插拔事件