Android下检测网络连接 3G WIFI
16lz
2021-12-04
Android下检测网络状态 3G WIFI
实现 代码如下
- packageAndroid.HelloAndroid;
- importandroid.app.Activity;
- importandroid.app.AlertDialog;
- importandroid.content.Context;
- importandroid.os.Bundle;
- importandroid.widget.TextView;
- importandroid.net.ConnectivityManager;
- importandroid.net.NetworkInfo;
- importandroid.net.NetworkInfo.State;
- publicclassHelloextendsActivity{
- /**Calledwhentheactivityisfirstcreated.*/
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- TextViewtv=newTextView(this);
- tv.setText("检测网络状态");
- setContentView(tv);
- checkNetworkInfo();
- goodNet();
- }
- publicbooleangoodNet()
- {
- ConnectivityManagermanager=(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);
- NetworkInfonetworkinfo=manager.getActiveNetworkInfo();
- if(networkinfo==null||!networkinfo.isAvailable()){
- newAlertDialog.Builder(this).setMessage("没有可以使用的网络").setPositiveButton("Ok",null).show();
- returnfalse;
- }
- newAlertDialog.Builder(this).setMessage("网络正常可以使用").setPositiveButton("Ok",null).show();
- returntrue;
- }
- privatevoidcheckNetworkInfo()
- {
- ConnectivityManagerconMan=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);//mobile3GDataNetwork
- Statemobile=conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
- newAlertDialog.Builder(this).setMessage(mobile.toString()).setPositiveButton("3G",null).show();//显示3G网络连接状态
- Statewifi=conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
- newAlertDialog.Builder(this).setMessage(wifi.toString()).setPositiveButton("WIFI",null).show();//显示wifi网络连接状态
- }
- }
需要注意:
根据Android的安全机制,在使用ConnectivityManager时,必须在AndroidManifest.xml中添加<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 否则无法获得系统的许可。
更多相关文章
- Android(安卓)wifi提示已连接但是无法访问网络
- Android获取通话状态
- Android之获取手机信息
- Android(安卓)判断是否能真正上网
- Android(安卓)检测网络是否打开
- 【Android】android使用Leaks检测内存泄漏详解
- android 获取 imei号码
- Android下为自己定义WifiManager类wifi模块代码
- ANDROID笔记:Button的简单使用