-
Android 获取 Wifi 信号强度,检测是 Wifi 或者流量,获取手机电池电量及充电状态
2017-06-16 11:35:54Android 获取 Wifi 信号强度,检测是 Wifi 或者流量,获取手机电池电量及充电状态 分类:Android (573) (0) 举报 收藏 Android 获取 Wifi 信号强度,检测是 Wifi 或者流量,获取手机电池电量及充电...初始化:
private static BroadcastReceiver batteryLevelRcvr; private static IntentFilter batteryLevelFilter; public static int batteryLevel = 0; public static int isChargingNum = 0; public static int WifiStrength = 0; public static int isWifiTraffic = 0;
- 1
- 2
- 3
- 4
- 5
- 6
在 onCreater 中使用:
monitorBatteryState();
- 1
编写代码:
/** * 检查用户是用的 Wifi 还是 流量 * */ public static void isWifiOrTraffic() { ConnectivityManager cm; cm = (ConnectivityManager) instance .getSystemService(Context.CONNECTIVITY_SERVICE); boolean isWifitrue = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI) .getState() == NetworkInfo.State.CONNECTED ? true : false; boolean isGprstrue = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) .getState() == NetworkInfo.State.CONNECTED ? true : false; if (isWifitrue == true) { setWifiOrTraffic(4); } if (isGprstrue == true) { setWifiOrTraffic(5); } } public static void setWifiOrTraffic(int wifi) { isWifiTraffic = wifi; } public static int getWifiOrTraffic() { System.out .println("=====4-wifi 5-traffic =====JAVA getWifiOrTraffic() : " + isWifiTraffic); return isWifiTraffic; } /** * Wifi的连接速度及信号强度 * */ public int obtainWifiInfo() { int strength = 0; WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); // 取得WifiManager对象 WifiInfo info = wifiManager.getConnectionInfo(); // 取得WifiInfo对象 if (info.getBSSID() != null) { strength = WifiManager.calculateSignalLevel(info.getRssi(), 5); // 链接信号强度,5为获取的信号强度值在5以内 // int speed = info.getLinkSpeed(); // 链接速度 // String units = WifiInfo.LINK_SPEED_UNITS; // 链接速度单位 // String ssid = info.getSSID(); // Wifi源名称 } return strength; // return info.toString(); } public BroadcastReceiver rssiReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.d("Rssi", "=====RSSI changed"); setWifiStrength(obtainWifiInfo()); } }; public void setWifiStrength(int strength) { WifiStrength = strength; } public static int getWifiStrength() { System.out.println("=====JAVA getWifiStrength() : " + WifiStrength); return WifiStrength; } @Override public void onPause() { super.onPause(); unregisterReceiver(rssiReceiver); Log.d("Rssi", "=====Unregistered"); } /** * 1.获取手机电池电量 2.检查手机是否充电 * */ public static void monitorBatteryState() { isWifiOrTraffic(); batteryLevelRcvr = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { int rawlevel = intent.getIntExtra("level", -1); int scale = intent.getIntExtra("scale", -1); int status = intent.getIntExtra("status", -1); int level = -1; if (rawlevel >= 0 && scale > 0) { level = (rawlevel * 100) / scale; } setBatteryLevel(level); switch (status) { case BatteryManager.BATTERY_STATUS_CHARGING: setIsCharging(1); break; case BatteryManager.BATTERY_STATUS_FULL: setIsCharging(2); break; case BatteryManager.BATTERY_STATUS_NOT_CHARGING: setIsCharging(3); break; default: break; } } }; batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); instance.registerReceiver(batteryLevelRcvr, batteryLevelFilter); } public static void setBatteryLevel(int level) { batteryLevel = level; } public static int getBatteryLever() { System.out.println("=====getBatteryLever() : " + batteryLevel); return batteryLevel; } public static void setIsCharging(int num) { isChargingNum = num; } public static int getIsCharging() { System.out .println("=====1-ing 2-full 3-no =====JAVA getIsCharging() : " + isChargingNum); return isChargingNum; } protected void onResume() { super.onResume(); if (isWxLogin) { Log.d(TAG, "====Login Success"); loadWXUserInfo(); } registerReceiver(rssiReceiver, new IntentFilter( WifiManager.RSSI_CHANGED_ACTION)); Log.d("Rssi", "=====Registered"); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(batteryLevelRcvr); }
-
获取手机信号强度,包括WiFi,2G,4G
2019-11-27 15:42:38因为业务需要,获取到手机主板的信号强度,包括WiFi,4G,2G。来验证当前主板模块是否是因为信号不好而导致问题,我去网上查询了几遍,将一些文章结合起来。最后获取到相关数据。以下是相关的操作步骤 1.加权限 ...因为业务需要,获取到手机主板的信号强度,包括WiFi,4G,2G。来验证当前主板模块是否是因为信号不好而导致问题,我去网上查询了几遍,将一些文章结合起来。最后获取到相关数据。以下是相关的操作步骤
1.加权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
2.实例化TelephonyManager,建立起PhoneStatListener监听(主要是带SIM卡的状态监听),再注册一个NetWorkBroadCastReceiver监听。
//获取telephonyManager mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); //开始监听 mListener = new PhoneStatListener(); mNetWorkBroadCastReciver = new NetWorkBroadCastReciver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); intentFilter.addAction(WifiManager.RSSI_CHANGED_ACTION); registerReceiver(mNetWorkBroadCastReciver, intentFilter);
mTelephonyManager.listen(mListener, PhoneStatListener.LISTEN_SIGNAL_STRENGTHS);
/** * 观察手机带SIM卡时的信号强度 */ private class PhoneStatListener extends PhoneStateListener { //获取信号强度 @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { super.onSignalStrengthsChanged(signalStrength); signal=signalStrength; //网络信号改变时,获取网络信息 getNetWorkInfo(); } }
//接收网络状态改变的广播 class NetWorkBroadCastReciver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { getNetWorkInfo(); } }
/** * 获取网络的信息 */ private void getNetWorkInfo() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connectivityManager.getActiveNetworkInfo(); if (info != null && info.isAvailable()) { switch (info.getType()) { case ConnectivityManager.TYPE_WIFI: //wifi WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); WifiInfo connectionInfo = manager.getConnectionInfo(); int rssi = connectionInfo.getRssi(); mTextView.setText("当前为wifi网络,信号强度=" + rssi); break; case ConnectivityManager.TYPE_MOBILE: //移动网络,可以通过TelephonyManager来获取具体细化的网络类型 String netWorkStatus = isFastMobileNetwork() ? "4G网络" : "2G网络"; if (isFastMobileNetwork()){ try { if (signal==null){ Log.e("tiwolf", "getNetWorkInfo: signal为空" ); return; } Method method=signal.getClass().getMethod("getDbm"); mGsmSignalStrength= (int) method.invoke(signal); if(mGsmSignalStrength>-90){ Log.e("tiwolf", "getNetWorkInfo: 信号强度强" ); }else { Log.e("tiwolf", "getNetWorkInfo: 信号强度弱" ); } } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } }else { //获取网络信号强度 //获取0-4的5种信号级别,越大信号越好,但是api23开始才能用 // int level = signalStrength.getLevel(); if (signal==null){ Log.e("tiwolf", "getNetWorkInfo: signal为空" ); return; } mGsmSignalStrength = signal.getGsmSignalStrength(); } mTextView.setText("当前为" + netWorkStatus + ",信号强度=" + mGsmSignalStrength); Log.e("tiwolf", "当前为" + netWorkStatus + ",信号强度=" + mGsmSignalStrength ); break; } } else { mTextView.setText("没有可用网络"); } }
最后结束取消监听,取消注册
mTelephonyManager.listen(mListener, PhoneStatListener.LISTEN_NONE);
unregisterReceiver(mNetWorkBroadCastReciver);
大体的就是这样子,后面有文档上传到csdn,有需要的可以去下载
-
iOS开发:获取系统WiFi名称,WiFi列表,WiFi强度,WiFi设置密码,WiFi副标题标签
2018-06-01 17:40:48WiFi功能也算简单,主需要导入使用苹果系统自带的框架即可,仅仅单纯的获取手机当前连接的WiFi名称,或者获取手机系统显示的WiFi列表,那就so easy了。这里我介绍一下WiFi开发主要的步骤和流程,一些其他的使用细节...前段时间在开发蓝牙功能,蓝牙功能开发结束之后最近又在开发WiFi功能。WiFi功能也算简单,主需要导入使用苹果系统自带的框架即可,仅仅单纯的获取手机当前连接的WiFi名称,或者获取手机系统显示的WiFi列表,那就so easy了。这里我介绍一下WiFi开发主要的步骤和流程,一些其他的使用细节不再一一阐述。
苹果在iOS9.0以后提供了获取WiFi列表的API,但是需要开发人员主动发邮件给苹果,等待审核通过之后打开获取WiFi列表权限才能使用;但是在iOS9.0之前,只能获取到手机当前连接的WiFi名称等信息。
一、iOS9.0之前获取WiFi权限
1、导入头文件
#import<SystemConfiguration/CaptiveNetwork.h>
2、获取手机当前连接的WiFi信息的方法
//获取手机当前连接WiFi信息
- (NSString *)getWifiName {
NSString *wifiName = nil;
CFArrayRef wifiInterfaces = CNCopySupportedInterfaces();
if (!wifiInterfaces) {
return @"未知";
}
NSArray *interfaces = (__bridge NSArray *)wifiInterfaces;
for (NSString *interfaceName in interfaces) {
CFDictionaryRef dictRef = CNCopyCurrentNetworkInfo((__bridge CFStringRef)(interfaceName));
if (dictRef) {
NSDictionary *networkInfo = (__bridge NSDictionary *)dictRef;
wifiName = [networkInfo objectForKey:(__bridge NSString *)kCNNetworkInfoKeySSID];
CFRelease(dictRef);
}
}
CFRelease(wifiInterfaces);
return wifiName;
}
3、直接使用第2步的方法,进一步操作
比如,这里我直接获取使用WiFi的名字,然后赋值给UItextfield:self.networkTF.text = [self getWifiName];
二、iOS9.0之后获取WiFi权限
iOS9.0之后获取WiFi权限需要以下几个主要步骤:
1、向 Apple 申请开发 Network Extension 权限;
写封邮件给 networkextension@apple.com ,向苹果要开发 Network Extension 的权限。申请邮件内容如下所示,仅供参考:
Hi, I am a personal developer on ios9, I am using xcode8.0 to develop app, AppleID:XXXXXXXXXX, I want to get SSID and BSSID and RSSI by scanning near WiFi, I hope to get the NetworkExtension permission, please approve!
苹果收到邮件后会自动回复邮件,然后根据苹果回复的邮件提供的链接,打开连接根据选项逐一填写,然后提交之后14天左右就可以收到苹果的确认回复邮件。
2、申请包含 Network Extension 的描述文件;
申请获取WiFi权限通过之后,需要进入开发者账号里面配置创建Network Extension的描述文件,配置成功之后点击下载,下载完成双击打开描述文件。
3、配置 Info.plist;
打开项目,在Xcode的Info.plist中Required background modes 添加一个 network-authentication(item)
4、配置 entitlements;
在Xcode的Info.plist中Entitlements File下添加一个键值对: com.apple.developer.networking.HotspotHelper -> YES
5、iOS 获取 Wifi 列表代码实现;
导入头文件:
#import <NetworkExtension/NetworkExtension.h>
//实现部分
- (void)getWifiList {
if (![[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) {return;}
dispatch_queue_t queue = dispatch_queue_create("com.leopardpan.HotspotHelper", 0);
[NEHotspotHelper registerWithOptions:nil queue:queue handler: ^(NEHotspotHelperCommand * cmd) {
//kNEHotspotHelperCommandTypeFilterScanList:表示扫描到 Wifi 列表信息。
if(cmd.commandType == kNEHotspotHelperCommandTypeFilterScanList) {
//NEHotspotNetwork 里有如下信息:SSID:Wifi 名称;BSSID:站点的 MAC 地址;signalStrength: Wifi信号强度,该值在0.0-1.0之间;secure:网络是否安全 (不需要密码的 Wifi,该值为 false);autoJoined: 设备是否自动连接该 Wifi,目前测试自动连接以前连过的 Wifi 的也为 false ;justJoined:网络是否刚刚加入;chosenHelper:HotspotHelper是否为网络的所选助手
for (NEHotspotNetwork* network in cmd.networkList) {
NSLog(@“+++++%@“,network.SSID);
}
}
}];}
6、获取Wifi列表回调
以上的五个步骤操作之后,运行项目,会发现没有WiFi列表的回调,那是因为没有刷新WiFi列表,这时候就需要你手动打开手机系统设置—>WLAN—>系统WiFi列表加载出来的时候,上面的代码才会执行回调,才获取到WiFi列表。
三、代理方法
#pragma mark —Register a Hotspot Helper—
+ (BOOL)registerWithOptions:(NSDictionary*)options queue:(dispatch_queue_t)queue handler:(NEHotspotHelperHandler)handler
@param options
kNEHotspotHelperOptionDisplayName :WIFI注释tag字符串// 这里设置的内容将会在WiFi列表中每个WiFi下边展示
@param queue dispatch_queue_t 用来调用handle的block
@param handler NEHotspotHelperHandler block 用于执行处理helper commands.
@return 注册成功为YES, 否则NO.
@discussion 这个API一旦调用成功,应用程序有资格在后台启动,并参与各种热点相关的功能。 当应用程序启动此方法,应该调用一次,再次调用它,就不会产生影响,并且返回NO。
#pragma mark —Manage Hotspot Networks—
+ (BOOL)logoff:(NEHotspotNetwork *)network
@param network 对应当前关联的WiFi网络NEHotspotNetwork
@return 注销命令已成功进入队列为YES, 否则NO.
@discussion 调用这个方法使kNEHotspotHelperCommandTypeLogoff型的NEHotspotHelperCommand向应用程序发出的“handler”模块,网络参数须符合当前关联的WiFi网络,必须来自对NEHotspotHelperCommand网络属性或者方法supportedInterfaces
+ (NSArray *)supportedNetworkInterfaces
@return 如果没有网络接口被管理就返回nil,否则就返回NEHotspotNetwork对象数组。
@discussion 每个网络接口由NEHotspotNetwork对象表示,当前返回的数组包含一个NEHotspotNetwork对象,代表Wi-Fi接口。
四、具体实现调用的方法,获取wifi列表,并给指定ssid做标记
- (void)getWifiList {
NSMutableDictionary* options = [[NSMutableDictionary alloc] init];
[options setObject:@“上网” forKey:kNEHotspotHelperOptionDisplayName];
dispatch_queue_t queue = dispatch_queue_create("com.myapp.ex", NULL);
BOOL returnType = [NEHotspotHelper registerWithOptions:options queue:queue handler: ^(NEHotspotHelperCommand * cmd) {
NEHotspotNetwork* network;
NSLog(@"COMMAND TYPE: %ld", (long)cmd.commandType);
[cmd createResponse:kNEHotspotHelperResultAuthenticationRequired];
if (cmd.commandType == kNEHotspotHelperCommandTypeEvaluate || cmd.commandType ==kNEHotspotHelperCommandTypeFilterScanList) {
NSLog(@"WIFILIST: %@", cmd.networkList);
for (network in cmd.networkList) {
//NSLog(@"COMMAND TYPE After: %ld", (long)cmd.commandType);
if ([network.SSID isEqualToString:@"ssid"]|| [network.SSID isEqualToString:@"test"]) {
double signalStrength = network.signalStrength;
NSLog(@"Signal Strength: %f", signalStrength);
[network setConfidence:kNEHotspotHelperConfidenceHigh];
[network setPassword:@"password"];
NEHotspotHelperResponse *response = [cmd createResponse:kNEHotspotHelperResultSuccess];
NSLog(@"Response CMD %@", response);
[response setNetworkList:@[network]];
[response setNetwork:network];
[response deliver];
}
}
}
}];
NSLog(@"result :%d", returnType);
NSArray *array = [NEHotspotHelper supportedNetworkInterfaces];
NSLog(@"wifiArray:%@", array);
NEHotspotNetwork *connectedNetwork = [array lastObject];
NSLog(@"supported Network Interface: %@", connectedNetwork);
}
以上就是本节的全部内容,欢迎关注山掌柜的微信公众号,更多精彩等你来!
-
获取wifi当前手机连接的wifi信息以及信号强度
2019-04-09 19:56:03WifiManager wm = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); 2、通过WifiManager对象获得wifi信息 WifiInfo info = wm.getConnectionInfo(); 3、通过WifiInfo获得wifi信...1、获得WifiManager对象
WifiManager wm = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
2、通过WifiManager对象获得wifi信息
WifiInfo info = wm.getConnectionInfo();
3、通过WifiInfo获得wifi信息
//通过wifi管理对象获得wifi信息 WifiInfo info = wm.getConnectionInfo(); //获取wifi名称 String ssid = info.getSSID().replace("\"", ""); //获取mac地址 String MacAddr = info.getMacAddress(); //获取当前连接速度 int linkSpeed = info.getLinkSpeed(); //获取ip地址 int ipAddr = info.getIpAddress(); ......
xml代码
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="20dp" tools:context=".MainActivity"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="SSID:" android:textColor="@android:color/black" android:textSize="30sp" /> <TextView android:id="@+id/wifiSSID" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/textView1" android:text="-" android:textColor="@android:color/black" android:textSize="30sp" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="信号强度" android:layout_below="@id/textView1" android:textColor="@android:color/black" android:textSize="30sp" /> <ImageView android:id="@+id/ivWifi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/textView2" android:background="@drawable/wifi1"/> </RelativeLayout>
主函数代码
import android.app.Activity; import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private WifiManager wm; private TextView wifiSSID; private ImageView ivWifi; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initWifi(); } private void initView() { wifiSSID = findViewById(R.id.wifiSSID); ivWifi = findViewById(R.id.ivWifi); } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: wifiSSID.setText(msg.obj.toString()); if (msg.arg1 <= 50) { ivWifi.setBackgroundResource(R.drawable.wifi4); } else if (msg.arg1 <= 70) { ivWifi.setBackgroundResource(R.drawable.wifi3); } else if (msg.arg1 <= 100) { ivWifi.setBackgroundResource(R.drawable.wifi2); } break; case 2: wifiSSID.setText("-"); ivWifi.setBackgroundResource(R.drawable.wifi1); break; } } }; private void initWifi() { Thread thread = new Thread() { @Override public void run() { while (true) { try { sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } //拿到wifi管理对象 wm = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); if (wm.isWifiEnabled()) { //通过wifi管理对象获得wifi信息 WifiInfo info = wm.getConnectionInfo(); //获取wifi名称 String ssid = info.getSSID().replace("\"", ""); //获取mac地址 String MacAddr = info.getMacAddress(); //获取当前连接速度 int linkSpeed = info.getLinkSpeed(); //获取ip地址 int ipAddr = info.getIpAddress(); Message msg = Message.obtain(); msg.what = 1; msg.obj = ssid; /** * getRssi()返回的是一个-100到0的数,直接取绝对值 * -50到0表示信号好 * -50到-70表示信号一般 * -70到-100表示信号差 */ msg.arg1 = Math.abs(info.getRssi()); handler.sendMessage(msg); } else { Message msg = Message.obtain(); msg.what = 2; handler.sendMessage(msg); } } } }; thread.start(); } }
最后给权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
-
获取手机蜂巢网络信号强度(包括5G,WIFi)
2020-05-19 19:01:56手机信号强度首先分为两部分,一个是WiFi信号强度,一个是蜂巢网络(数据流量)信号强度。 信号强度会返回一个dbm单位的数据,这个数据就代表了当前环境下手机的信号如何。具体信号强度等级请参考... -
iOS--检测网络状态,获取运营商,获取WIFI信号强度
2017-07-13 17:28:27在APP中,有时候需要对用户设备的网络状态进行实时监控,让用户了解自己的网络状态,根据用户的网络状态进行智能...但是,细心的朋友们不知道有没有发现,手机的状态栏上一般都会有当前网络状态的显示,因为状态栏是系... -
关于检测手机信号强度,wifi信号强度以及检测周围wifi热点的一个小例子
2012-07-13 11:34:09检测手机信号强度需要用到TelephonyManager类 这个类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get... -
安卓java获取手机网络强度_无论你做的多么天衣无缝,你手机root了,就拜拜
2020-12-12 00:55:27举例说明:主要修改的参数有:Android_Id、IMEI、手机序列号、手机号码、WIFI-MAC、WIFI-Name、安卓系统版本、ROM固件、手机号码、手机型号、手机品牌、CPU型号、手机制造商、GPS定位、通话记录模拟、手机短信模拟... -
手机信息的获取(手机IMEI,手机sim卡的IMSI,网络类型(WiFi,LTE(即4G)等),信号强度(蜂窝网络非WiFi...
2015-12-28 22:14:01获取手机的信息:手机IMEI,手机sim卡的IMSI,网络类型(WiFi,LTE(即4G)等),信号强度(蜂窝网络非WiFi),经纬度 -
蓝牙信号强度检测app_哇!手机这款APP厉害了,手机信号好不好、WiFi强度如何它都知道...
2020-12-12 00:43:25今天电脑学习小编给大家推荐一款非常好用的APP免费、无广告、还纯净可以测试你的手机信号好不好还可以检测你周围的WiFi强度如何打开软件就能知道房间角落信号怎么样还能测试你家WiFi的网速呢不过这款APP目前只有安卓... -
Cocos项目为安卓添加获取手机信号强度和网络类型的功能(JAVA/C++/Lua)
2017-08-15 17:59:57直接使用Android自带的TelephonyManager 和 ConnectivityManager 都可以获取到 NetworksInfo 对象,可以通过 getType() 获取类型,判断是 “WIFI”还是 “MOBILE”,如果是 MOBILE,可以通过 NetworksInfo 对象的 ... -
Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启...
2017-03-18 20:19:00例如:获取手机的硬件信息,在内测时是非常有必要的,在统计游戏的兼容性和机型适配上有很大帮助的,例如这么一个需求,玩家离线挂机获得了很多道具和经验,这时是不是要告诉玩家这些可领取的信息,怎么搞定呢?... -
android手机信号强度
2020-04-16 15:15:31wifi 和 手机网络信号强度的获取不同要注意 信号单位 android定义了2种信号单位:dBm和asu。 信号强度单位: dBm(1毫瓦的分贝数)和asu(alone signal unit 独立信号单元)。 它们之间的关系是:dBm =-113+2asu,... -
基于Android 6.0获取指定Mac地址WiFi信息
2016-11-22 14:37:38基于Android 6.0获取指定Mac地址WiFi信息基于Android 60获取指定Mac地址WiFi...而由于WiFi路由器可能通过增大功率以维持WiFi信号强度,导致我们基于WiFi信号强度(RSSI)计算手机终端与热点之间的距离不准确。所以我们采 -
WiFi与惯导融合定位其一:通过安卓手机获取路由器数据(MAC、RSSI)
2020-05-14 00:40:01可以通过手机信号获取基站信息,然后调用第三方公开数据资源,根据基站ID信息(CID)查找基站的经纬度值,这样获得的是一个绝对位置,再通过信号强度衰减公式,得到一个相对距离,通过几何关系,进行三点定位解算... -
关于wifi密码获取(恶意攻击)
2017-06-04 21:07:09在我们手机打开wifi时会默认连接已拥有密码的高强度的wifi,识别是根据wifi的ssid。 所以假设我们攻击原正常wifi,使其不能正常上网,并使原业务掉线。然后自建同名wifi ,根据wifi连接的三次握手协议,就可获取密码。... -
Android监控WIFI和GSM状态并绘制网络强度
2016-06-30 17:56:45在实际工作中,常常遇到APP显示网络强度的需求。 使用过程中涉及的应用权限如下: 一、网络强度分为二个部分: ... GSM需要注册PhoneStateListener监听器,通过监听网络改变,获取手机当前网络的强度。 2、Wifi网络 -
手机常用方法, 获取电池电量,信号强度,sd存储容量等
2013-10-23 18:48:29package com.nancal.pdaclient.util; import java.io.File; import android.content.Context; import android.content.Intent; import android.content.IntentFilter...import android.net.wifi.WifiInfo; ... -
android 手机信息、服务器响应参数获取
2014-03-05 15:06:55获取服务器响应时间、建立连接时间、传送数据时间、下载内容大小等参数 获取本地IP、网关IP ...获取手机信号强度 获取手机接入互联网方式 wifi/2g/3g/4g 1、不需root 2、网络相关信息 保存在 /sdcard/testinfos.txt -
如何在应用程序中获取网络强度?
2013-03-28 03:10:56我想在手机设备中显示网络的网络强度。 现在我可以检查到 wifi 的连接。但是我需要知道网络信号强度,我要在下面的代码基础上再添加什么代码? ConnectivityManager connectivityManager = ... -
获取网络链接信号强度_轻松实现全屋网络覆盖,领势 AC4400 MESH分体路由器套装使用体验...
2021-01-13 21:19:53随着网络技术的不断发展,无线网已经成为了很多人日常生活中最主要的上网方式,不管是手机、平板、笔记本电脑等移动设备,还是电视机、洗衣机、冰箱等具备智能模块的大家电,只需要连接到WiFi网络即可开启更加精彩的... -
银行wifi认证登录怎么样
2020-06-19 16:55:56近日,时讯正式推出银行网点无线认证微信连wifi解决方案,在为银行提高无线网络身份安全强度的同时,帮助银行快速吸收微信粉丝,在移动互联网时代获取更好的微营销成果。 凭借多年来在身份安全领域的耕耘,时讯的... -
中科爱讯WiFi探针 常见应用及常见问题解答
2018-03-26 11:02:50答:WiFi探针可以获取到热点MAC地址、终端MAC地址、SSID(热点名称)、RSSI值(信号强度值)、信道、Frame大类、Frame小类、时间戳、手机品牌等数据。抓取到的数据是什么格式?名词怎么解释?答:以TZ-003采取的数据... -
一种基于WiFi的室内定位系统设计与实现
2020-10-19 00:00:41本文设计及实现了一个基于WiFi 射频信号强度指纹匹配的...定位算法运行于服务端,客户端为配备WiFi 模块的Android 手机。借助该定位系统,基于Android 系统的移动终端可方便地查询自身位置,并获取各种基于位置服务。 -
在Android里完美实现基站和WIFI定位
2013-09-09 11:18:55第二种则是利用获取最近的基站的信息,其中包括基站id,location area code、mobile country code、mobile network code和信号强度,将这些数据发送到google的定位web服务里,就能拿到当前所在... -
近似:近似库是一个WiFi Arduino库,用于构建物联网与ESP8266或ESP32之间的直接交互。-源码
2021-02-21 05:29:49从技术上讲,该库使您可以轻松地使用WiFi信号强度( )来估计与家庭网络上设备的物理距离,然后获取其以及可选)。 这些设备的网络活动也可以观察到。 安装 Arduino IDE库管理器中提供了rox的最新稳定版本-搜索... -
SystemUI 之状态上的手机信号显示
2018-10-15 18:17:033.客户需要连接WIFI 后,需要显示4G 网络强度 当时处理这几个问题我花一个多月的时间,主要是要理清android 4G网络是怎么个执行流程,你才能更好的处理这些问题。 1.===>网络强度加载慢原因:开机默认...