ios - iOS(dbm)中的信号强度?
问题描述
我正在使用下面提到的代码来检测 iOS 设备中的信号强度,此代码在 iOS 9 或更低版本中返回完美的信号强度结果。
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"]valueForKey:@"foregroundView"] subviews];
NSString *dataNetworkItemView = nil;
if ([CommonUtils objectIsValid:subviews])
{
for (id subview in subviews) {
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarSignalStrengthItemView") class]])
{
dataNetworkItemView = subview;
break;
}
}
NSInteger checkSignalValue = [[dataNetworkItemView valueForKey:@"signalStrengthRaw"] integerValue];
self.dynamicMessageValue = [NSString stringWithFormat:@"%ld dBm",(long)checkSignalValue];
但在 iOS 10 或更高版本中,此代码每次返回 0 值时都不起作用。而且我还在通过设备键盘拨号3001#12345#检查设备,然后它在状态栏左侧显示结果顶部,但在 iOS 9 或更低版本中,在 iOS 10 之上它不起作用。
任何人,请让我知道获取设备信号强度的替代方法?
请用正确的答案发帖。谢谢!
解决方案
推荐阅读
- java - 为什么我的连接器没有收到主机的消息?
- python-3.x - PngImageFile 类型的对象不是 JSON 可序列化的
- java - 正则表达式仅在子字符串是唯一出现时才匹配,如果子字符串加上其他内容则不匹配
- java - Maven:在“发布:准备”期间,如何在“安装”阶段之后运行一些测试?
- php - 如何防止 PHP 从 json 字符串中删除花括号?
- reactjs - 防止点击下一步,直到所有输入都填入reactjs?
- dart - 如何编写链函数 DART?
- python - 自动覆盖图像上的文本
- html - 如何刷新 HTML 中的图像?
- graphql - 阿波罗服务器上的自定义标量