我需要编写一个测试应用程序,以便在iphone4 IOS 4.2.1上检索有关cell id
和rssi
的信息,例如FieldTest应用程序(调用 3001#12345#查看UMTS Cell Enviroment / GSM Cell Enviroment。
我尝试导入CoreTelephony框架并使用私有API(CTServerConnectionCreate
/ CTServerConnectionCellMonitorStart
)。
通过这种方式,我可以在连接到2g网络时检索信息。
如果启用3G,当我呼叫CTServerConnectionCellMonitorGetCellCount
时,cellcount始终为0.
如果连接到3G网络,如何检索这些信息?
答案 0 :(得分:2)
我在这样的应用程序中工作,我尝试检索cellId,lac和rssi值。 我找到了rssi值的解决方案:
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);
对于其他2个值,即使在2G网络上也没有找到任何方法可以检索它们,你可以发布你的代码,我会测试它并尝试让它在3G网络上工作。