检查并提醒用户设置网络

MainActivity如下:
package com.test;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

/**
 * Demo描述: 在没有网络时提醒用户设置网络
 * 
 * 主要方式: 打开系统的网络设置界面
 * 
 * 测试方法: 将设备断网,然后运行该示例
 * 
 * 注意权限: 
 * <uses-permission android:name="android.permission.INTERNET"/>
 * <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 */
public class CheckNetWorkActivity extends Activity {
	private Button mButton;
	private Context mContext;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mContext = this;
		mButton = (Button) findViewById(R.id.button);
		mButton.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				checkNetWork();
			}
		});
	}

	public boolean checkNetWork() {
		boolean isNetworkAvailable = false;
		ConnectivityManager manager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
		if (manager.getActiveNetworkInfo() != null) {
			isNetworkAvailable = manager.getActiveNetworkInfo().isAvailable();
		}
		if (!isNetworkAvailable) {
			AlertDialog.Builder builder = new AlertDialog.Builder(this);
			builder.setIcon(android.R.drawable.ic_dialog_alert);
			builder.setTitle("网络状态");
			builder.setMessage("当前网络不可用,是否设置?");
			builder.setPositiveButton("确定",
					new DialogInterface.OnClickListener() {
						@Override
						public void onClick(DialogInterface dialog, int which) {
							Intent intent=new Intent();
							if (android.os.Build.VERSION.SDK_INT > 10) {
								intent.setAction(android.provider.Settings.ACTION_SETTINGS);
								mContext.startActivity(intent);
							} else {
								intent.setAction(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
								mContext.startActivity(intent);
							}
						}
					});

			builder.setNegativeButton("取消",
					new DialogInterface.OnClickListener() {
						@Override
						public void onClick(DialogInterface dialog, int which) {
							dialog.cancel();
						}
					});

			builder.create();
			builder.show();
		}
		return isNetworkAvailable;

	}

}

main.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
    
    
    
    <Button 
        android:id="@+id/button"
         android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="检查网络设置" 
     />

</LinearLayout>


你可能感兴趣的:(检查并提醒用户设置网络)