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()

你可能感兴趣的:(server,object,user,library,Symbian)