進入App判斷網路狀態(非廣播實時監聽)
阿新 • • 發佈:2019-02-03
//先寫一個工具類
public static boolean isConnection(Context context){ //得到管理網路的服務例項 ConnectivityManager connMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); //得到網路資訊 (判斷網路是否連線、3G、4G) NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); //判斷網路是否已經連線,如果連線的話,返回true,否則false return//MainActivity中寫一個方法 點選跳轉到設定網路的介面(networkInfo != null && networkInfo.isConnected()); }
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(); }