|
原帖由 bobgreen 于 2008-8-3 13:27 发表 : u- w" U: d* C1 n2 Z! h2 t
行,这个研究下
; N2 l, V1 q; q2 d关键怎么判断电话开了没
5 G% W) x! j F. v! f+ i; }$ p+ c g8 v& D1 C( ^- ^5 e
确实有这个毛病,本来那个菜单加了判断,开机时显示关闭,关机时显示打开,但这个判断失效了,. r; j9 S3 c/ w- L0 J- ~! V! |) [% L
看了下源码,是因为showHideMenuitem()这个方法里的开关机状态判断失败* X7 b! a* I& m
: i. T7 s. J+ e2 E6 l0 U HsAttrGet(hsAttrPhoneRadioPowerState, 0, &value);
1 x) x) B( {; a) p* i if (value > 0) //电话已经打开% \ N; |. ^+ S8 x5 y
上面这个写法从plam SDK文档上看没有任何问题,但无论开关机状态,在我的680上value返回值始终是1。。。???难怪一直判断为开机状态了。这个问题实在无法解释,难道文档错了?或是680开发人员没遵守规范?
- ^4 v0 I/ I) y7 [
# q# G# v0 y! a, [/ W6 Y结果把这个判断改用下面这种方式就完全没问题了:, g$ n8 P: Z. E' {! F
if (PhnLibModulePowered(globeP->hsPhoneLibRef) == phnPowerOn) //电话已经打开
% Q/ R/ j5 N/ A" ~8 [. ^4 a$ Z {4 I% o, \( J
手头没有650,不知650上是什么情况 |
|