1. 程式人生 > >進入App判斷網路狀態(非廣播實時監聽)

進入App判斷網路狀態(非廣播實時監聽)

//先寫一個工具類

public static boolean isConnection(Context context){
//得到管理網路的服務例項
ConnectivityManager connMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
//得到網路資訊 (判斷網路是否連線、3G4G)
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
//判斷網路是否已經連線,如果連線的話,返回true,否則false
return 
(networkInfo != null && networkInfo.isConnected()); }
//MainActivity中寫一個方法  點選跳轉到設定網路的介面
private void showNetWorkSettingDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(SecondActivity.this);
builder.setMessage("沒有設定網路,請您設定網路!");
builder.setNegativeButton("取消",null);
builder.setPositiveButton
("確認", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(); intent.setAction("android.settings.WIRELESS_SETTINGS"); startActivity(intent); } }); builder.create().show(); }
//呼叫工具類對當前的網路進行判斷  沒有網路時呼叫上面的方法  有網路時請求資料或……
//
判斷網路設定 如果有網路載入資料 如果未連線網路彈出對話方塊 if(NetWorkUtils.isConnection(this)){ getData("http://apis.juhe.cn/cook/query.php",indexs+"",10+""); }else{ showNetWorkSettingDialog(); }