【Android進階】判斷網路連線狀態並自動介面跳轉
阿新 • • 發佈:2019-01-25
用於判斷軟體開啟時的網路連線狀態,若無網路連線,提醒使用者跳轉到設定介面
/** * 設定在onStart()方法裡面,可以在介面每次獲得焦點的時候都進行檢測 */ @Override protected void onStart() { ConnectivityManager manager = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); if (info != null && info.isConnected()) { Toast.makeText(MainActivity.this, "網路連線連線", 0).show(); } else { AlertDialog.Builder builder = new Builder(MainActivity.this); builder.setTitle("開啟網路服務"); builder.setMessage("網路沒有連線,請到設定進行網路設定!"); builder.setPositiveButton("確定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { if (android.os.Build.VERSION.SDK_INT > 10) { // 3.0以上開啟設定介面,也可以直接用ACTION_WIRELESS_SETTINGS開啟到wifi介面 startActivity(new Intent( android.provider.Settings.ACTION_SETTINGS)); } else { startActivity(new Intent( android.provider.Settings.ACTION_WIRELESS_SETTINGS)); } dialog.cancel(); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); builder.show(); } super.onStart(); }
需要註冊的許可權
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>