监听网络变化的广播

来源:互联网 发布:linux nano命令 编辑:程序博客网 时间:2024/06/08 16:07

public class NetBroadcast extends BroadcastReceiver {    private SharedPreferences sp;    @Override    public void onReceive(Context context, Intent intent) {        ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo mobNetworkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);        NetworkInfo wifiNetworkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);        if (!mobNetworkInfo.isConnected() && !wifiNetworkInfo.isConnected()){            Toast.makeText(context, "当前网络环境不可用", Toast.LENGTH_SHORT).show();        }else if (mobNetworkInfo.isConnected() || wifiNetworkInfo.isConnected()){//            Toast.makeText(context, "广播:有网啦哈哈哈", Toast.LENGTH_SHORT).show();            sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);            Boolean netBroadcast = PrefUtils.getBoolean(sp, "netBroadcast", false);            if (!netBroadcast) {                context.sendBroadcast(new Intent("com.bbdseven.lifenecessary.fragment.MainFragment.UpdateWeatherBroadcast"));            }            PrefUtils.setBoolean(sp, "netBroadcast", true);        }    }}



<receiver android:name=".broadcast.NetBroadcast">    <intent-filter>        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />    </intent-filter></receiver>


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />




0 0
原创粉丝点击