您的位置:首页 > 理论基础 > 计算机网络

监听开机and 网络状态的广播

2016-08-12 12:14 204 查看
 //  AndroidManifest.xml 添加如下两个权限

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

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

public class MainActivity extends ActionBarActivity {

private NetworkRcevier networkRcevier;
private IntentFilter intentFilter;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        intentFilter = new IntentFilter();

        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");

        networkRcevier= new NetworkRcevier();

        registerReceiver(networkRcevier, intentFilter);

        

    }

    

    @Override

    protected void onDestroy() {

    // TODO Auto-generated method stub

    unregisterReceiver(networkRcevier);

    super.onDestroy();

    }

//动态注册广播,获取网络的状态

   class NetworkRcevier extends BroadcastReceiver{
  @Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
  ConnectivityManager cm=(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo networkInfo = cm.getActiveNetworkInfo();
  if (networkInfo != null && networkInfo.isAvailable()) {
Toast.makeText(MainActivity.this, "network is available .....", Toast.LENGTH_LONG).show();
}else {
Toast.makeText(MainActivity.this, "network is unavailable .....", Toast.LENGTH_LONG).show();
}
}

   }

   

   //开机的广播。

   class BootReciver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "接收开机广播。。。。", Toast.LENGTH_LONG).show();
}
  

   }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: