【Android实践--监測网络状态】幽沉谢世事,俯默窥唐虞。这篇文章主要讲述Android实践--监測网络状态相关的知识,希望能为你提供帮助。
android 监測网络状态
我们在使用Android手机时候,一些APP须要网络环境才干执行,所以手机须要可用的网络,无论是2G、3G或者WIFI。甚至有一些比較耗流量的APP仅仅能在WIFI的环境下执行,或者提供用户自行选择是否仅仅能在WIFI环境下执行,作为用户貌似后者体验更好。那么作为开发人员,我们仅仅须要几步就能给用户这样的体验。
-----------------------------------------------------------------------------------------------------------------------------
1.权限加入:APP须要联网。以及须要訪问网络状态,所以在AndroidManifest.xml中加入权限。
< uses-permission android:name= "android.permission.INTERNET" /> < uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2.状态获取:手机网络有数据(2G/3G/4G)连接、WIFI连接两种状态,能够区分获取和笼统的获取。
/** * 检查WIFI是否连接 * * @author Ysjian * @date 2014-5-9 * @return 假设连接了返回true,否则返回false */ public boolean isWifiConnected() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiInfo = connectivityManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI); return wifiInfo != null; } /** * 检查手机网络(4G/3G/2G)是否连接 * * @author Ysjian * @date 2014-5-9 * @return 假设连接了返回true,否则返回false */ public boolean isMobileNetworkConnected() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mobileNetworkInfo = connectivityManager .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); return mobileNetworkInfo != null; } /** * 检查是否有可用网络 * * @author Ysjian * @date 2014-5-9 * @return 存在WIFI和手机数据随意可用网络返回true。否则返回false */ public boolean hasActivityNetwork() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); return connectivityManager.getActiveNetworkInfo() != null; }
3.跳转设置:假设没有网络,跳转到网络设置界面。能够依据详细需求调用上面的三个方法之中的一个来推断网络状态。
if (!hasActivityNetwork()) { AlertDialog.Builder builder = new AlertDialog.Builder(this ); builder. setTitle( "没有可用的网络" ) .setMessage( "是否对网络进行设置?" ) .setPositiveButton( "是" , new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog,int which) { Intent intent = null ; intent = newIntent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); startActivity(intent); } }) .setNegativeButton( "否" , new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).show(); }
文章来源:http://blog.csdn.net/ysjian_pingcx/article/details/25461053
推荐阅读
- Android6.0运行时权限(基于RxPermission开源库)
- Android之——经常使用手机号码功能
- Android权限大全(链接地址整理)
- Android之Intent和Activity
- android一步一步实现视频clientapp
- “小懒虫”安卓手机控制电脑关机
- ArcGIS Android工程迁移到其他电脑不能打开的问题
- android 4中菜单的使用
- Android 使用意图播放本地视频