精华内容
下载资源
问答
  • wifi信号强度

    2017-03-26 14:10:43
    获取wifi信号强度   import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.Toast; ...

    获取wifi信号强度

     

    import android.net.wifi.WifiInfo;
    import android.net.wifi.WifiManager;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
        private WifiManager wifiManager;
        private int level;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
            WifiInfo wifiInfo = wifiManager.getConnectionInfo();
            //获得信号强度值
            level = wifiInfo.getRssi();
            //根据获得的信号强度发送信息
            if (level <= 0 && level >= -50) {
                Toast.makeText(MainActivity.this,
                        "信号强度:" + level + " 信号最好", Toast.LENGTH_SHORT)
                        .show();
            } else if (level < -50 && level >= -70) {
                Toast.makeText(MainActivity.this,
                        "信号强度:" + level + " 信号较好", Toast.LENGTH_SHORT)
                        .show();
            } else if (level < -70 && level >= -80) {
                Toast.makeText(MainActivity.this,
                        "信号强度:" + level + " 信号一般", Toast.LENGTH_SHORT)
                        .show();
            } else if (level < -80 && level >= -100) {
                Toast.makeText(MainActivity.this,
                        "信号强度:" + level + " 信号较差", Toast.LENGTH_SHORT)
                        .show();
            } else {
                Toast.makeText(MainActivity.this,
                        "信号强度:" + level + " 无信号", Toast.LENGTH_SHORT)
                        .show();
            }
        }
    }

     

     

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

    demo 地址    https://download.csdn.net/download/qq_36665856/10396770

     

     

    展开全文
  • android获取wifi信号强度

    千次阅读 2015-12-04 15:06:52
    一个获取wifi信号强度的案例,通过广播机制监听客户端wifi强度的变化。 首先需要在清单文件中添加获取wifi状态的权限: 然后获取信号强度代码如下: package com.my.phonesingle; import android.app.Activity; ...

    一个获取wifi信号强度的案例,通过广播机制监听客户端wifi强度的变化。


    首先需要在清单文件中添加获取wifi状态的权限:

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    然后获取信号强度代码如下:

    package com.my.phonesingle;
    
    import android.app.Activity;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.net.wifi.WifiInfo;
    import android.net.wifi.WifiManager;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.ImageView;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    	IntentFilter wifiIntentFilter; // wifi监听器
    	ImageView wifi_image;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		wifiIntentFilter = new IntentFilter();
    		wifiIntentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
    		wifi_image = (ImageView) findViewById(R.id.wifi_image);
    		WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
    		WifiInfo info = wifiManager.getConnectionInfo();
    		int level = WifiManager.calculateSignalLevel(info.getRssi(), 5);
    		Intent intent = new Intent();
    		// intent.putExtra("wifi_state", wifiManager.getWifiState());
    		intent.putExtra("wifi_level", level);
    		sendBroadcast(intent);
    
    	}
    
    	/**
    	 * 声明wifi消息处理过程
    	 */
    	private BroadcastReceiver wifiIntentReceiver = new BroadcastReceiver() {
    		@Override
    		public void onReceive(Context context, Intent intent) {
    			int wifi_state;
    			int level = intent.getIntExtra("wifi_level", 0);//wifi信号强度
    			if (level >= 0 && level <= 50)
    				wifi_state = WifiManager.WIFI_STATE_ENABLED;
    			else if (level > 50 && level <= 70)
    				wifi_state = WifiManager.WIFI_STATE_ENABLING;
    			else if (level > 70 && level <= 100)
    				wifi_state = WifiManager.WIFI_STATE_DISABLED;
    			else if (level > 100 && level <= 200)
    				wifi_state = WifiManager.WIFI_STATE_DISABLING;
    			else
    				wifi_state = WifiManager.WIFI_STATE_UNKNOWN;
    			Log.i("Leve", "1111:" + level);
    			switch (wifi_state) {
    			case WifiManager.WIFI_STATE_DISABLING:
    				Log.i("Global.TAG", "1111:" + WifiManager.WIFI_STATE_DISABLING);
    				wifi_image.setImageResource(R.drawable.single1);
    				wifi_image.setImageLevel(level);
    				Toast.makeText(MainActivity.this, "信号强度:" + level,
    						Toast.LENGTH_SHORT).show();
    				break;
    			case WifiManager.WIFI_STATE_DISABLED:
    				Log.i("Global.TAG", "2222:" + WifiManager.WIFI_STATE_DISABLED);
    				wifi_image.setImageResource(R.drawable.single2);
    				wifi_image.setImageLevel(level);
    				Toast.makeText(MainActivity.this, "信号强度:" + level,
    						Toast.LENGTH_SHORT).show();
    				break;
    			case WifiManager.WIFI_STATE_ENABLING:
    				wifi_image.setImageResource(R.drawable.single3);
    				wifi_image.setImageLevel(level);
    				Log.i("Global.TAG", "33333:" + WifiManager.WIFI_STATE_ENABLING);
    				Toast.makeText(MainActivity.this, "信号强度:" + level,
    						Toast.LENGTH_SHORT).show();
    				break;
    			case WifiManager.WIFI_STATE_ENABLED:
    				Log.i("Global.TAG", "4444:" + WifiManager.WIFI_STATE_ENABLED);
    				wifi_image.setImageResource(R.drawable.single4);
    				wifi_image.setImageLevel(level);
    				Toast.makeText(MainActivity.this, "信号强度:" + level,
    						Toast.LENGTH_SHORT).show();
    				break;
    			case WifiManager.WIFI_STATE_UNKNOWN:
    				Log.i("Global.TAG", "5555:" + WifiManager.WIFI_STATE_UNKNOWN);
    				wifi_image.setImageResource(R.drawable.single0);
    				wifi_image.setImageLevel(level);
    				Toast.makeText(MainActivity.this, "信号强度:" + level,
    						Toast.LENGTH_SHORT).show();
    				break;
    			}
    		}
    	};
    
    	// 在onResume方法中注册,在onPause方法中销毁:
    	@Override
    	protected void onResume() {
    		super.onResume();
    		// 注册wifi消息处理器
    		registerReceiver(wifiIntentReceiver, wifiIntentFilter);
    	}
    
    	@Override
    	protected void onPause() {
    		super.onPause();
    		unregisterReceiver(wifiIntentReceiver);
    	}
    
    }
    

    案例下载地址:http://download.csdn.net/detail/u013043346/9326203

    展开全文
  • iOS 获取wifi信号强度

    千次阅读 2016-10-28 17:43:15
    虽然各种直接获取信号强度的api都被封杀了。但是还有一个另类的黑魔法可以获取到。那就是遍历UIStatusBar了- (void)getSignalStrength{ UIApplication *app = [UIApplication sharedApplication]; NSArray *...

    虽然各种直接获取信号强度的api都被封杀了。但是还有一个另类的黑魔法可以获取到。那就是遍历UIStatusBar了

    - (void)getSignalStrength{
        UIApplication *app = [UIApplication sharedApplication];
        NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
        NSString *dataNetworkItemView = nil;
    
        for (id subview in subviews) {
            if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
                dataNetworkItemView = subview;
                break;
            }
        }
    
        int signalStrength = [[dataNetworkItemView valueForKey:@"_wifiStrengthBars"] intValue];
    
        NSLog(@"signal %d", signalStrength);
    }

    当然我们还可以遍历UIStatusBar 获取到网络连接类型

    - (void)getNetworkType
    {
        UIApplication *app = [UIApplication sharedApplication];
        NSArray *subviews = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews];
        for (id subview in subviews) {
            if ([subview isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {
                int networkType = [[subview valueForKeyPath:@"dataNetworkType"] intValue];
                switch (networkType) {
                    case 0:
                        NSLog(@"NONE");
                        break;
                    case 1:
                        NSLog(@"2G");
                        break;
                    case 2:
                        NSLog(@"3G");
                        break;
                    case 3:
                        NSLog(@"4G");
                        break;
                    case 5:
                    {
                        NSLog(@"WIFI");
                    }
                        break;
                    default:
                        break;
                }
            }
        }
    }
    展开全文
  • 虽然各种直接获取信号强度的api都被封杀了。但是还有一个另类的黑魔法可以获取到。那就是遍历UIStatusBar了 - (void)getSignalStrength{ UIApplication *app = [UIApplication sharedApplication]; NSArray...

    虽然各种直接获取信号强度的api都被封杀了。但是还有一个另类的黑魔法可以获取到。那就是遍历UIStatusBar了

     

    - (void)getSignalStrength{
        UIApplication *app = [UIApplication sharedApplication];
        NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
        NSString *dataNetworkItemView = nil;
        
        for (id subview in subviews) {
            if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
                dataNetworkItemView = subview;
                break;
            }
        }
        
        int signalStrength = [[dataNetworkItemView valueForKey:@"_wifiStrengthBars"] intValue];
        
        NSLog(@"signal %d", signalStrength);
    }

     

    当然我们还可以遍历UIStatusBar 获取到网络连接类型

    - (void)getNetworkType
    {
        UIApplication *app = [UIApplication sharedApplication];
        NSArray *subviews = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews];
        for (id subview in subviews) {
            if ([subview isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {
                int networkType = [[subview valueForKeyPath:@"dataNetworkType"] intValue];
                switch (networkType) {
                    case 0:
                        NSLog(@"NONE");
                        break;
                    case 1:
                        NSLog(@"2G");
                        break;
                    case 2:
                        NSLog(@"3G");
                        break;
                    case 3:
                        NSLog(@"4G");
                        break;
                    case 5:
                    {
                        NSLog(@"WIFI");
                    }
                        break;
                    default:
                        break;
                }
            }
        }
    }

     

    转载于:https://www.cnblogs.com/starainDou/p/5781130.html

    展开全文
  • 最近公司社区项目中要用到或者社区周围WiFi列表以及信号强度,好多网友说实现不了讨论区相关资源:APP跳转 及iOS10跳转在设置页面Wifi 定位原理及 iOS Wifi 列表获取iOS 获取系统wifi列表,wifi信号强度,并给wifi设置...
  • iOS状态栏操作之获取WiFi信号强度,WiFi名字和IP,网络类型,运营商,电池电量,系统时间等 此篇文章讲述iOS中的状态栏 iOS开发中对状态栏的操作比较少,因为状态栏是系统级别的View,是受苹果保护的,不可以...
  • iOS状态栏操作之获取WiFi信号强度,WiFi名字和IP,网络类型,运营商,电池电量,系统时间等此篇文章讲述iOS中的状态栏iOS开发中对状态栏的操作比较少,因为状态栏是系统级别的View,是受苹果保护的,不可以随便更改...
  • APP中,有时候需要对用户设备的网络状态进行实时监控,让用户了解自己的网络状态,根据用户的网络状态进行智能处理,节省用户流量,提高用户体验. 检测网络状态有多重方法,最常见的是 苹果官方提供了一个叫...
  • 如果违反这些苹果的规范,那么APP将有可能上不了架。笔者就曾写过一个APP,因状态栏被提示框遮挡而杯具(被拒)了。 一、操作状态栏的样式 iOS开发中最常见的对状态栏的操作就是设置状态栏的样式,比如: //此样式的...
  • WIFI指纹采集工具app

    2018-10-24 14:32:51
    可以实时采集WIFI信号强度,适用于WIFI室内定位的前期WIFI信号强度采集建立指纹数据库
  • MainActivity如下: package cc.testwifi; import android.os.Bundle; import android.app.... * 监听Wifi网络的变化并且获得当前信号强度 * * 参考资料: * http://blog.csdn.net/way_ping_li/article/details/8
  • iOS 获取wifi强度

    千次阅读 2016-11-30 20:24:54
    可以获取wifi信号强度, 3, 2 ,1 // UIApplication *app = [UIApplication sharedApplication]; // NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subview
  • MainActivity如下:package cc.testwifi;import android.os.Bundle;.../*** Demo描述:* 监听Wifi网络的变化并且获得当前信号强度***/public class MainActivity extends Activity {@Overrideprotected void onCre...
  • 如何定位一个AP,我认为其实与如何定位自身终端的位置有着异曲同工之妙,翻找了国内的应用市场,也搜索了GooglePlay并没有发现相关的如何定位周围AP的app,大部分实现的功能就是扫描SSID外加显示信号强度。...
  • 数字信号有着良好的抗材料本身干扰和环境干扰的能力,所以,现在市面上的模拟信号产品逐渐被数字信号产品代替,并且使得测量产品越来越方便。根据市场调查,虽然市场上有很多关于环境监测系统测试仪,但大多数是应用...
  • Valeronoi Valeronoi(Valetudo + Voronoi)是Valetudo的同伴,用于生成WiFi信号强度图。 它使用Voronoi diag Valeronoi可视化它们Valeronoi(Valetudo + Voronoi)是Valetudo的伴侣,用于生成WiFi信号强度图。 它...
  • Android设备中实现wifi状态监听

    千次阅读 2020-03-05 17:00:51
    APP中实现监听Android设备(手机、TV或其他设备)已连接的wifi的状态信息,并定时上传至服务器,用于分析特定时间点设备所在环境中wifi的状态及信号强度。 二、使用场景 多个智能WiFi设备组成的实际场景中,设备偶尔...
  • CustomLock:信任wifi-源码

    2021-06-06 06:11:49
    左边的图标是显示当前此wifi热点的信号强度。 ###已知的bug### 由于隐藏系统锁屏界面已被官方标记为过时,有些定制的Android系统有修改过KeyGuardManager这个api,所以有些手机型号会不支持这app所提供的功能。(已知...
  • Wifi信号强度的也有一些,反正应用场景大概就是这样。 2、实现目标效果图 废话别说这么多,直接上干货看图说话 我这个实现的是4种状态的View 1、没有中间显示条的表示空状态 2、有一...
  • 在安卓APP中嵌入网络状态监听事件,包括连接、断开、SSID名称、信号强度、连接速度等信息,详见Demo中Log信息
  • 通过阅读此,可以了解到怎么获取上联设备的mac地址、上联网口接口(根据网络工作判断)、如果是无线中继怎么获取上联的ssid和密码、wifi工作信道、读取速率、读取噪声和信噪比、读取信号强度等等。 ...
  • 一款Android手机APP,能够搜集手机的WiFi信号强度、GPS地理位置、手机信息等等,并上传到服务器,最后汇集所有收集到的数据,成功绘制出了北邮校园WiFi的信号分布热图。 使用Android Studio打开。
  • Cellura-Z软件还是挺不错的

    千次阅读 2018-11-23 13:14:33
    想知道手机信号好不好,真不是目测就行的,也不是靠手机拨号界面输入*#*#4636#*#*查看,这些方法都太麻烦了,小编有一个“炒鸡”好用的软件,包括手机信号强度,WiFi信号强度,甚至是GPS信号强度都可以一览无余。...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

wifi信号强度app