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

Android四大组件之--BroadcastReceiver--判断网络连接

2015-09-25 16:31 633 查看
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();
}
}
}

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