Android网络连接相关广播
2014-11-07 22:23
357 查看
新建一个类继承BroadcastReceiver,用于接收广播,并作相应的处理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的<application></application>标签中注册广播接收过滤条件<!-- 网络更改广播 -->
<receiver android:name="com.coship.entropic.factorytest.receiver.NetChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<!-- 网线状态改变广播 -->
<receiver android:name="com.coship.entropic.factorytest.receiver.NetChangeReceiver">
<intent-filter>
<action android:name="android.net.ethernet.ETHERNET_STATE_CHANGED" />
</intent-filter>
</receiver>
接收广播只需要以上两个步骤,当然还需要配置权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />完成之后,上面的两个System.out.println();输出内容在控制台是看不到的,因为网络状态更改会导致android设备与电脑的连接断开,故而控制台不会有输出。如果要测试是否能够接收到广播,可以采用其他方式检测,比如
handler.sendEmptyMessage(0);
通知界面弹出信息提示,或者直接打印到屏幕上显示
上面的内容网上很多资料,仅仅一个需要指出的是<action android:name="android.net.ethernet.ETHERNET_STATE_CHANGED" />由于这个用的比较少,所以网上的资料也很少。下面罗列一下有线连接相关的ACTIONConnectivityManager.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)
//可以相应网线的热插拔事件
@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的<application></application>标签中注册广播接收过滤条件<!-- 网络更改广播 -->
<receiver android:name="com.coship.entropic.factorytest.receiver.NetChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<!-- 网线状态改变广播 -->
<receiver android:name="com.coship.entropic.factorytest.receiver.NetChangeReceiver">
<intent-filter>
<action android:name="android.net.ethernet.ETHERNET_STATE_CHANGED" />
</intent-filter>
</receiver>
接收广播只需要以上两个步骤,当然还需要配置权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />完成之后,上面的两个System.out.println();输出内容在控制台是看不到的,因为网络状态更改会导致android设备与电脑的连接断开,故而控制台不会有输出。如果要测试是否能够接收到广播,可以采用其他方式检测,比如
handler.sendEmptyMessage(0);
通知界面弹出信息提示,或者直接打印到屏幕上显示
上面的内容网上很多资料,仅仅一个需要指出的是<action android:name="android.net.ethernet.ETHERNET_STATE_CHANGED" />由于这个用的比较少,所以网上的资料也很少。下面罗列一下有线连接相关的ACTIONConnectivityManager.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)
//可以相应网线的热插拔事件
相关文章推荐
- Android网络连接相关广播
- Android网络连接相关广播
- Android判断网络连接相关方法
- android 通过广播监听网络连接状况
- Android网络连接判断与相关处理
- Android学习之——(2)项目中的网络连接相关以及Bitmap处理学习
- android ConnectivityManager主要管理和网络连接相关的操作
- Android通过广播判断网络连接(仿QQ网络连接显示)
- 【Android 】注册广播,实时监听网络连接与断开状态变化
- Android利用广播监听设备网络连接(断网)的变化情况
- Android 网络连接判断并进行相关处理
- Android 利用广播监视网络是否连接
- Android WiFi 权限、广播、连接、踩坑相关记录
- android和网络连接相关的类URL,URLConnection,HttpURLConnection,HttpClient
- Android利用广播监听设备网络连接(断网)的变化情况
- Android--广播的使用实例(监听网络连接)
- Android 通过注册广播,实时监听网络连接与断开状态的变化
- Android 通过广播获取网络连接的情况
- Android 跟网络连接相关的工具类
- Android判断是否有网络连接及相关设置