一、检查网络是否连接
方法一、
public void CheckNetworkState() {
boolean flag = false;
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState();
// 如果3G、wifi、2G等网络状态是连接的,则退出,否则显示提示信息进入网络设置界面
if (mobile == State.CONNECTED || mobile == State.CONNECTING)
return;
if (wifi == State.CONNECTED || wifi == State.CONNECTING)
return;
//如果不可用,弹出对话框
}
方法二:
public class ConnectionDetector { |
09 |
private Context _context; |
11 |
public ConnectionDetector(Context context){ |
12 |
this ._context = context; |
15 |
public boolean isConnectingToInternet(){ |
16 |
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE); |
17 |
if (connectivity != null ) |
19 |
NetworkInfo[] info = connectivity.getAllNetworkInfo(); |
21 |
for ( int i = 0 ; i < info.length; i++) |
22 |
if (info[i].getState() == NetworkInfo.State.CONNECTED) |
方法三、
1. 首先先看一下Android判断网络是否已打开(如果直接写在Activity里面,则可以不需要参数)
/* * 判断网络连接是否已开 * 2012-08-20 *true 已打开 false 未打开 * */ public static boolean isConn(Context context){ boolean bisConnFlag=false; ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo network = conManager.getActiveNetworkInfo(); if(network!=null){ bisConnFlag=conManager.getActiveNetworkInfo().isAvailable(); } return bisConnFlag; }
2.如果未开启网络调用打开设置界面(如果不写在Activity里面则不需要参数)
/* * 打开设置网络界面 * */ public static void setNetworkMethod(final Context context){ //提示对话框 AlertDialog.Builder builder=new Builder(context); builder.setTitle("网络设置提示").setMessage("网络连接不可用,是否进行设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Intent intent=null; //判断手机系统的版本 即API大于10 就是3.0或以上版本 if(android.os.Build.VERSION.SDK_INT>10){ intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); }else{ intent = new Intent(); ComponentName component = new ComponentName("com.android.settings","com.android.settings.WirelessSettings"); intent.setComponent(component); intent.setAction("android.intent.action.VIEW"); } context.startActivity(intent); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.dismiss(); } }).show(); }
3. 在 AndroidManifest.xml中设置权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/>
4. 在相应的位置调用即可
if(!ConnectionUtil.isConn(getApplicationContext())){ ConnectionUtil.setNetworkMethod(MainActivity.this); }
- Android(安卓)贝塞尔曲线,撒花了
- Android(安卓)getWindow().setFlags方法
- Android连接网络
- Android(安卓)监听手机GPS打开状态实现代码
- android 登录前检查网络状态
- android MediaPlayer SurfaceView 网络视频播放器
- Android在程序中打开网页
- Android(安卓)修改TabLayout设置文字大小一致
- android RecyclerView 设置设置选中的一行的内容
随机推荐
-
Android中TabLayout添加小红点
-
Android官方命令深入分析之Hierarchy Vie
-
Android与JavaScrpit相互调用
-
Android的EditText的光标选择问题
-
AIDL介绍和实例讲解
-
Android(安卓)shape使用
-
android.net.LocalSocket
-
Android中am命令用法详解
-
Android(安卓)RGB颜色对照表
-
Android点击水波纹效果