|
原帖由 bobgreen 于 2008-8-3 13:27 发表 
' y2 i$ R+ G m% e: K行,这个研究下
# n: b. f" L- `8 ]关键怎么判断电话开了没
! w* u3 }- q! [2 x# Q
1 _; y$ _2 x9 o5 ^9 V确实有这个毛病,本来那个菜单加了判断,开机时显示关闭,关机时显示打开,但这个判断失效了,
4 y" s2 v! i% t( z* u看了下源码,是因为showHideMenuitem()这个方法里的开关机状态判断失败
2 R7 \: F9 N5 J1 a
/ d7 P, w9 l, ?, \0 N. X9 G! q HsAttrGet(hsAttrPhoneRadioPowerState, 0, &value);0 m$ c/ w( z9 Z% `
if (value > 0) //电话已经打开2 R: ]( F1 C" ^; k1 d, p4 E; `
上面这个写法从plam SDK文档上看没有任何问题,但无论开关机状态,在我的680上value返回值始终是1。。。???难怪一直判断为开机状态了。这个问题实在无法解释,难道文档错了?或是680开发人员没遵守规范?! {" n$ Y ~2 Q0 |: d
; C0 ~& c3 W9 V. F' W& ]8 I/ g: d" ]+ t结果把这个判断改用下面这种方式就完全没问题了:; U4 p. V5 J o- V1 X% G
if (PhnLibModulePowered(globeP->hsPhoneLibRef) == phnPowerOn) //电话已经打开
7 [! x5 r" W. k% j5 Y
1 H* k+ @7 A) ]手头没有650,不知650上是什么情况 |
|