2008-01-22

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

電話着信があったときに Denwa.exeに飛んでくるメッセージを調べてみました。
 
メッセージWPARAMLPARAM
電話着信WM_USER + 5620xCA0x00
:
謎?WM_USER + 5620xD00x00
:
通話ボタンWM_USER + 5620x1C30x00
:
WM_USER + 5620xCB0x00
WM_COMMAND0x80070x00
:
切断ボタンWM_USER + 5620x1C20x00
WM_COMMAND0x80450x00
WM_USER + 5620xCD0x00
WM_USER + 5620xCF0x00
WM_COMMAND0x80080x00
:
WM_COMMAND0x80040x00
:
WM_COMMAND0x80040x00
WM_COMMAND0x80040x00
電話終了WM_USER + 163900x000x00
 
通話ボタンを押す前に相手が電話を切った場合や 相手が先に通話を切った場合は微妙にメッセージが違いますが、電話着信とその後の謎(?)の部分、電話終了については常に同じメッセージが飛んできているようです。
 
先日からのサスペンド中の電話着信の問題を回避するために、それぞれのタイミングで SetSystemPowerState()を呼んでみたのですが、やはり電話が切断されるとすぐにサスペンド状態に復帰してしまいます。
このタイミングでは RfLedRestrictorがLEDを消す事ができない上に、電話アプリ自体も終了できてないために新たな電話着信があると電話に出ることができないばかりか 一切の操作を受け付けなくなり電池を外して電源を切るしかできなくなるようです。
 
今のところの回避策は電話を受けた後は一度サスペンドを解除して電話アプリを完全に終了させる(Today画面に復帰する)か、そもそもサスペンドを使わずに画面オフだけを使うしか方法がありません。 Use10Keyのサスペンド機能を利用している場合はご注意ください。
 
でも、[設定]-[システム]-[パワーマネジメント]で指定した時間が経過してサスペンドに移行した状態だと電話終了後もサスペンド状態に戻ることはありません。
もしかしたら、このあたりに解決のヒントがあるのかもしれませんね。
 

0 件のコメント: