静态注册广播监听网络变化
2017-02-06 15:48
369 查看
常用的IM聊天App中都会判断网络连接是否可用,今天我们就用静态注册注册广播来监听网络的变化:首先申请网络权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
然后在mainifest文件静态注册广播:
<receiver
android:name=".NetWorkChangeReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
这样当网络变化的时候,就能监听到相应的网络情况:
package com.example.administrator.broadcastreceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.widget.Toast;
public class NetWorkChangeReceiver extends BroadcastReceiver {
public NetWorkChangeReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
//Toast.makeText(context,"netChanged!",Toast.LENGTH_LONG).show();
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo !=null && networkInfo.isAvailable())
{
Toast.makeText(context,"isAvailable!",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(context,"unAvailable!",Toast.LENGTH_LONG).show();
}
}
}
OK了,静注册广播监听网络变化已实现。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
然后在mainifest文件静态注册广播:
<receiver
android:name=".NetWorkChangeReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
这样当网络变化的时候,就能监听到相应的网络情况:
package com.example.administrator.broadcastreceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.widget.Toast;
public class NetWorkChangeReceiver extends BroadcastReceiver {
public NetWorkChangeReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
//Toast.makeText(context,"netChanged!",Toast.LENGTH_LONG).show();
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo !=null && networkInfo.isAvailable())
{
Toast.makeText(context,"isAvailable!",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(context,"unAvailable!",Toast.LENGTH_LONG).show();
}
}
}
OK了,静注册广播监听网络变化已实现。
相关文章推荐
- Android 第十九课 大喇叭--广播机制----动态注册监听网络变化与静态注册实现开机启动
- Android学习小记----监听电量的变化(不能静态注册的广播)
- 动态注册广播,监听网络状态变化,判断网络模式
- 通过静态广播监听网络变化,在通过回调通知
- 动态注册广播 监听网络变化
- android动态注册广播,监听网络状态变化,判断网络模式
- Android学习小记----监听电量的变化(不能静态注册的广播)
- 【Android 】注册广播,实时监听网络连接与断开状态变化
- Android开发入门之实现动态注册广播监听网络变化
- Android动态注册广播,监听网络状态变化,判断网络模式
- 动态注册广播接收器,监听网络变化
- Android 注册广播,实时监听网络连接与断开状态变化
- Android 通过注册广播,实时监听网络连接与断开状态的变化
- Android中动态(在类中)注册广播接收者,监听网络变化
- Android学习小记----监听电量的变化(不能静态注册的广播), 保持Service不被杀死的好方法
- Android使用广播监听网络状态变化 一直收到系统广播 广播过滤
- 通过Broadcast动态注册监听网络变化和网络类型
- 接收系统广播监听网络变化
- 简单 android 广播监听网络状态变化
- 广播监听网络变化