Symbian: 获取signal strength的3种方法

最近做获取手机的信号强度,总结一下.

 

获取手机的信号强度有3种方法,各种方法获取得到的值 不同

方法1.使用RSystemAgent获得

 const TUid KUidNetworkStrength  ={0x100052C8};
 RSystemAgent agent;
 agent.Connect();
 TInt networkStrength = agent.GetState(KUidNetworkStrength); 
 agent.Close();
这种方法得到的值的范围是0~4,意义如下:

0 = ESANetworkStrengthNone
1 = ESANetworkStrengthLow
2 = ESANetworkStrengthMedium
3 = ESANetworkStrengthHigh
4 = ESANetworkStrengthUnknown

 

方法2:也是使用RSystemAgent获得,不过使用的UID是0x100052D4

这个UID得到的结果范围是0~7,这个和手机屏幕左上角的信号强度条对应.

 

方法3:使用CTelephony

改方法比较麻烦,不过取得的值的范围很大,我在2部6680上测试不成功,在N72上测试成功,网友说在6630上测试成功,具体方法见http://www.symbian.com/developer/techlib/v9.1docs/doc_source/guide/telephony-subsystem-guide/n1013a/info_network.html#guide%2esimpletelephony%2eSignalStrength

 

现在添加第4中方法:

使用CMobileContext获得信号强度

使用本方法获得的信号强度范围是0~5,这个方法挺麻烦的,得到的数据又不好,但是该方法的好处是可以使用类似的方法获得电话号码.这是NOKIA发布的一个包Mobinfo,在


http://developer.symbian.com/main/tools/utilities/cpp/index.jsp#mobinfo

中的
Mobinfo 3rd Party Telephony Library


通过N70的测试
但是6680好像还是不支持,郁闷

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值