在 android 中如何获得网络强度

问题描述

在 android 中如何获得网络强度

我想在手机上面显示网络的网络信号强度。
现在我可以通过下面的代码检查出是否连接到wifi,但是接下来我想要知道网络信号强度。还需要添加什么代码?

ConnectivityManager connectivityManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetInfo = connectivityManager
                .getActiveNetworkInfo();
        NetworkInfo mobNetInfo = connectivityManager
                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

        TextView netStatus = (TextView) findViewById(R.id.netStatus);
        if (activeNetInfo != null) {
            netStatus.setText(" Connection Status - Connected "+activeNetInfo.getTypeName());
        } else if (mobNetInfo != null) {
            netStatus.setText(" Connection Status - Connected "+mobNetInfo.getTypeName());
        } else {
            netStatus.setText(" Connection Status - Not Connected ");
        }

解决方案

好像不行吧,不知4.0以后的版本有没有提供相应的方法

解决方案二:

试一下:

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo Info = cm.getActiveNetworkInfo();
    if (Info == null || !Info.isConnectedOrConnecting()) {
        Log.i(TAG, "No connection");
    } else {
        int netType = Info.getType();
        int netSubtype = Info.getSubtype();

        if (netType == ConnectivityManager.TYPE_WIFI) {
            Log.i(TAG, "Wifi connection");
            WifiManager wifiManager = (WifiManager) getApplication().getSystemService(Context.WIFI_SERVICE);
            List<ScanResult> scanResult = wifiManager.getScanResults();
            for (int i = 0; i < scanResult.size(); i++) {
                Log.d("scanResult", "Speed of wifi"+scanResult.get(i).level);//The db level of signal
            }

            // Need to get wifi strength
        } else if (netType == ConnectivityManager.TYPE_MOBILE) {
            Log.i(TAG, "GPRS/3G connection");
            // Need to get differentiate between 3G/GPRS
        }
    }
时间: 2024-09-14 13:53:44

在 android 中如何获得网络强度的相关文章

Android中ImageView使用网络图片资源的方法_Android

本文实例讲述了Android中ImageView使用网络图片资源的方法.分享给大家供大家参考.具体如下: 很多时候我们不想把东西都放在APK里面,或者是不能放进去,这时候我们就需要万能的网路帮助自己实现了 运行效果截图如下: java代码如下: package com.android.antking.imageview; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.Malformed

Android中ImageView使用网络图片资源的方法

本文实例讲述了Android中ImageView使用网络图片资源的方法.分享给大家供大家参考.具体如下: 很多时候我们不想把东西都放在APK里面,或者是不能放进去,这时候我们就需要万能的网路帮助自己实现了 运行效果截图如下: java代码如下: package com.android.antking.imageview; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.Malformed

Android中Wifi/3G网络连接

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网 络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager  类 ,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager 的作用: Class that answers queries about the state of network connectivity. It also notifies ap

服务器-android中网络访问不了。

问题描述 android中网络访问不了. 做一个小应用,android传输数据到javaEE服务器端,网络一直访问不了. 不过把 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" /> 中的版本改成8就可以访问了,本来都是14的,各位大神知道这是什么原因吗? 解决方案 android访问不了 解决方案二: 1.一般访问网络需要在AndroidManifest.xml中声明使用

Android中使用gps或WLAN或移动网络来定位手机?

问题描述 Android中使用gps或WLAN或移动网络来定位手机? 先判断GPS是否打开,若没有,将强制性打开,得到经纬度和时间和本机手机号.

Android中判断网络连接是否可用及监控网络状态_Android

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 复制代码 代码如下: public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConn

android-如何在应用程序中获取网络强度?

问题描述 如何在应用程序中获取网络强度? 我想在手机设备中显示网络的网络强度.现在我可以检查到 wifi 的连接.但是我需要知道网络信号强度,我要在下面的代码基础上再添加什么代码? ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetInfo = connectivi

Android中 检查网络连接状态的变化,无网络时跳转到设置界面

在AndroidManifest.xml中加一个声明 <receiver android:name="NetCheckReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver> NetCheckReceive.java文件如下 im

Android中判断有无可用网络的代码(是否是3G或者WIFI网络)_Android

复制代码 代码如下: ConnectivityManager mConnectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mTelephony = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE); //检查网络连接,如果无网络可用,就不需要进行连网操作等 NetworkInfo inf