ページ

2008年01月22日

サスペンド中の電話着信 その2

電話着信があったときに Denwa.exeに飛んでくるメッセージを調べてみました。

メッセージ WPARAM LPARAM
電話着信 WM_USER + 562 0xCA 0x00
:
謎? WM_USER + 562 0xD0 0x00
:
通話ボタン WM_USER + 562 0x1C3 0x00
:
WM_USER + 562 0xCB 0x00
WM_COMMAND 0x8007 0x00
:
切断ボタン WM_USER + 562 0x1C2 0x00
WM_COMMAND 0x8045 0x00
WM_USER + 562 0xCD 0x00
WM_USER + 562 0xCF 0x00
WM_COMMAND 0x8008 0x00
:
WM_COMMAND 0x8004 0x00
:
WM_COMMAND 0x8004 0x00
WM_COMMAND 0x8004 0x00
電話終了 WM_USER + 16390 0x00 0x00

通話ボタンを押す前に相手が電話を切った場合や 相手が先に通話を切った場合は微妙にメッセージが違いますが、電話着信とその後の謎(?)の部分、電話終了については常に同じメッセージが飛んできているようです。

先日からのサスペンド中の電話着信の問題を回避するために、それぞれのタイミングで SetSystemPowerState()を呼んでみたのですが、やはり電話が切断されるとすぐにサスペンド状態に復帰してしまいます。
このタイミングでは RfLedRestrictorがLEDを消す事ができない上に、電話アプリ自体も終了できてないために新たな電話着信があると電話に出ることができないばかりか 一切の操作を受け付けなくなり電池を外して電源を切るしかできなくなるようです。

今のところの回避策は電話を受けた後は一度サスペンドを解除して電話アプリを完全に終了させる(Today画面に復帰する)か、そもそもサスペンドを使わずに画面オフだけを使うしか方法がありません。 Use10Keyのサスペンド機能を利用している場合はご注意ください。

でも、[設定]-[システム]-[パワーマネジメント]で指定した時間が経過してサスペンドに移行した状態だと電話終了後もサスペンド状態に戻ることはありません。
もしかしたら、このあたりに解決のヒントがあるのかもしれませんね。

0 件のコメント:

コメントを投稿

AltStyle によって変換されたページ (->オリジナル) /