MainActivity如下:
main.xml如下:
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>