Android四大组件之--BroadcastReceiver广播--判断网络连接
MainActivity.java
package com.example.week4_day5_borad;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.IntentFilter;
import android.view.Menu;
/**
* 判断网络是否连接
*
*/
public class MainActivity extends Activity {
private MyNetworkState networkState=new MyNetworkState();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//意图过滤器,
IntentFilter filter=new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(networkState, filter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
接收判断网络是否正常的广播
package com.example.week4_day5_borad;
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 MyNetworkState extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
//得到网络连接管理者对象
ConnectivityManager manager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//得到连接信息
NetworkInfo info = manager.getActiveNetworkInfo();
if(info==null ){
Toast.makeText(context, "网络连接异常", Toast.LENGTH_SHORT).show();
}else{
if(info.isConnected()){
Toast.makeText(context, "网络连接正常", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "网络连接超时", Toast.LENGTH_SHORT).show();
}
}
}
}