如何在Android中判断网络状态,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
一、权限
需要在AndroidManifest.xml 添加访问权限
<usespermissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/>
二、判断连接状态
/** * 判断是否有网络连接 * @param context * @return */ public static boolean isConnect(Context context) { boolean _isConnect = false; ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo network = conManager.getActiveNetworkInfo(); if (network != null) { _isConnect = conManager.getActiveNetworkInfo().isAvailable(); } return _isConnect; }
三、打开网络设置对话框
/** * 打开系统网络设置界面 * @param context */ public void setNetworkMethod(final Context context) { AlertDialog.Builder builder = new AlertDialog.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; //3.0之前和之后API不同,需要判断 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(); }
四、调用
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (!isConnect(TwoActivity.this)){ setNetworkMethod(TwoActivity.this); } } });
关于如何在Android中判断网络状态问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。