Symbian下获取GSM Cell信息

Series 60 SDK官方并不支持访问当前的GSM cell Id

因此你首先需要把etel.hetelbgsm.h9200 SDK拷贝到\Symbian\6.1\Series60\Epoc32\Include目录下。

Mmp文件里需要加入:

LIBRARY gsmbas.lib

LIBRARY etel.lib

下面的代码不能运行在emulator上,只能在真机上运行:

 RBasicGsmPhone phone;
 RTelServer server; 
 User::LeaveIfError( server.Connect() );
 // load a phone profile
 _LIT(KGsmModuleName, "phonetsy.tsy");
 User::LeaveIfError( server.LoadPhoneModule( KGsmModuleName ) );
 // initialize the phone object
 RTelServer::TPhoneInfo info;
 User::LeaveIfError( server.GetPhoneInfo( 0, info ) );
 User::LeaveIfError( phone.Open( server, info.iName ) );
 MBasicGsmPhoneNetwork::TCurrentNetworkInfo ni;
 User::LeaveIfError( phone.GetCurrentNetworkInfo( ni ) );

接下来可以通过ni访问CellIdiLocationAreaCodeiNetworkInfo.iShortName等。

最后确认关闭了资源:

Phone.Close();

Server.UnloadPhoneModule(KGsmModuleName);

Server.Close();

下面的信息也可以获得:

厂商Id,串号:GetPhoneInfo()

BER,电池状态:GetX(此函数为同步)

信号量:SignalStrengthNotification()

你可能感兴趣的:(Symbian)