int getSignalStrength(){ voID *libHandle = dlopen("/System/library/Frameworks/CoreTelephony.framework/CoreTelephony",RTLD_LAZY); int (*CTGetSignalStrength)(); CTGetSignalStrength = dlsym(libHandle,"CTGetSignalStrength"); if( CTGetSignalStrength == NulL) NSLog(@"Could not find CTGetSignalStrength"); int result = CTGetSignalStrength(); dlclose(libHandle); return result;}
它给我60到100之间的值,但是当我通过调用这个* 3001#12345#*数来测试设备中的信号强度时,它显示为-65.下面我附上截图.来自getSignalStrength()的值是否准确?那为什么它总是会返回正值?
解决方法 getSignalStrength()显示否定的dB衰减,例如 – ( – 60)== 60.呼入将更常规地显示为小于零的测量值.是的,这些变化是典型的.即使在严格控制的条件下,您也可以获得/ – 20分贝.解决这个问题的一种方法是随着时间的推移进行一系列测量,比如说每秒,并保留最近10次测量的运行列表.然后报告平均值或中位数或其他统计数据.根据我的经验,这减少了很多变化.您还可以执行标准偏差以提供可靠性的度量. 总结以上是内存溢出为你收集整理的iphone – 如何以编程方式找出载波信号强度全部内容,希望文章能够帮你解决iphone – 如何以编程方式找出载波信号强度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)