在使用Android连接网络的时候,并不是每次都能连接到网络,在这个时候,我们最好是在程序启动的时候对网络的状态进行一下判断,如果没有网络则进行即时提醒用户进行设置。
要判断网络状态,首先需要有相应的权限,下面为权限代码:
即允许访问网络状态:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
下面为判断代码:
- /**
- * 检测网络的连接状态,如果网络不可用,提示用户配置网络.
- *
- * @return
- */
- private boolean checkNetworkStatus() {
- boolean netStatus = false;
- ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- connManager.getActiveNetworkInfo();
- if (connManager.getActiveNetworkInfo() != null) {
- netStatus = connManager.getActiveNetworkInfo().isAvailable();
- }
- if (!netStatus) {
- Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络").setMessage("是否对网络进行设置?");
- b.setPositiveButton("是", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- Intent mIntent = new Intent("/");
- ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
- mIntent.setComponent(comp);
- mIntent.setAction("android.intent.action.VIEW");
- startActivityForResult(mIntent, 0); // 如果在设置完成后需要再次进行操作,可以重写操作代码,在这里不再重写
- }
- }).setNeutralButton("否", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- dialog.cancel();
- }
- }).show();
- }
- return netStatus;
- }