|
原帖由 bobgreen 于 2008-8-3 13:27 发表
8 d6 F1 w4 t1 n) y! G/ o/ v行,这个研究下
% \8 D, H4 \; c; l1 Z关键怎么判断电话开了没
. {8 M( Q0 u: l7 i% v1 p
- z* e) ^ m1 P5 a2 [确实有这个毛病,本来那个菜单加了判断,开机时显示关闭,关机时显示打开,但这个判断失效了,
* f+ o; w# e6 s7 Z5 Z v看了下源码,是因为showHideMenuitem()这个方法里的开关机状态判断失败5 y2 C. h o* e# G) W% h% o
9 v' Z' q+ W4 i# ~# V7 K
HsAttrGet(hsAttrPhoneRadioPowerState, 0, &value);
' Q/ I) V+ {. |+ F: O0 a% p& d if (value > 0) //电话已经打开+ Q$ h2 b# _" ]
上面这个写法从plam SDK文档上看没有任何问题,但无论开关机状态,在我的680上value返回值始终是1。。。???难怪一直判断为开机状态了。这个问题实在无法解释,难道文档错了?或是680开发人员没遵守规范?! |! c! Z7 {, A3 ^8 k
5 `( ~& Q8 u$ f( B( F I结果把这个判断改用下面这种方式就完全没问题了:
0 y1 E2 X5 C1 r- ?3 F if (PhnLibModulePowered(globeP->hsPhoneLibRef) == phnPowerOn) //电话已经打开
1 \6 O8 m2 l' ^
7 k/ T6 U( D8 Q& }; j% z1 ~手头没有650,不知650上是什么情况 |
|