关于android的广播机制里面的网络状态监听
这是书里面的原话
大概意思:就是说我的这个广播器监听网络状态,当网络状态发生变化的时候才会发出哪个值,然后我的广播器才会启动
问题:但是我在使用我做的哪个广播器的app的时候,我一启动app他就会出现Toast,不管我是没网还是有网状态,
app一启动它就会立马执行,但是我的网络并没有发生变化,求大神指点迷津!

大概意思:就是说我的这个广播器监听网络状态,当网络状态发生变化的时候才会发出哪个值,然后我的广播器才会启动
问题:但是我在使用我做的哪个广播器的app的时候,我一启动app他就会出现Toast,不管我是没网还是有网状态,
app一启动它就会立马执行,但是我的网络并没有发生变化,求大神指点迷津!
package com.example.myborad;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
private IntentFilter intentfile;
private NetworkChangeReciver network;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intentfile=new IntentFilter();
intentfile.addAction("android.net.conn.CONNECTIVITY_CHANGE");
network=new NetworkChangeReciver();
registerReceiver(network, intentfile);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
unregisterReceiver(network);
}
class NetworkChangeReciver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub'
ConnectivityManager connectivityManager=(ConnectivityManager)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();
}
}
}
...全文


