1. 程式人生 > >【Android進階】判斷網路連線狀態並自動介面跳轉

【Android進階】判斷網路連線狀態並自動介面跳轉

用於判斷軟體開啟時的網路連線狀態,若無網路連線,提醒使用者跳轉到設定介面

/**
	 * 設定在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"/>