关于android的广播机制里面的网络状态监听 (Fragment实现)

关于android的广播机制里面的网络状态监听 (Fragment实现)

方法比较简单,直接上代码了

首先在Fragment 里定义一个类

class NetworkChangeReciver extends BroadcastReceiver {

    @Override

    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub'

        HomeActivity activity = (HomeActivity) getActivity();

        ConnectivityManager connectivityManager = (ConnectivityManager) activity.getSystemService(context.CONNECTIVITY_SERVICE);

        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        if (networkInfo != null && networkInfo.isAvailable())
            Toast.makeText(context, "当前网络正常!", Toast.LENGTH_SHORT).show();
            //网络正常的情况下 执行相关操作

        else
            Toast.makeText(context, "当前网络处于断网!", Toast.LENGTH_SHORT).show();
    }

}
其次覆盖此方法

@Override
public void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    getActivity().unregisterReceiver(network);
}
最后在 onCreateView()方法注册广播监听
intentfile = new IntentFilter();
intentfile.addAction("android.net.conn.CONNECTIVITY_CHANGE");
network = new NetworkChangeReciver();
getActivity().registerReceiver(network, intentfile);

你可能感兴趣的:(Android,进阶,Android,高级,Android普罗米修斯)