2012-03-26 6 views
0

を保持しない私はブラックベリーのカーブに9300ブラックベリー:PhoneListenerは

を使用しています私は何か発信コールが起動するたびに行い、私はPhoneListenerを追加しているアプリを作りました。私はSystemListenerとSystemListener2を追加して、電話機のpowerUp()、reset()またはfastReset()のたびにリスナーが追加されるようにしました。そして、私はアプリがシステム起動時にも始まることを確かめました。アプリは正常に動作します。

ここで問題は、電話機をしばらくの間アイドル状態にして(たとえば2,3時間)、再び使用を開始すると、PhoneListenerが機能しなくなることです。それはもはや発信呼を検出しません。

電話機をしばらくアイドル状態にしておくと、PhoneListenerが削除されたようです。その間、PhoneListenerを削除し、それをどのように処理するのかが正確にはどうなりますか?

ご協力いただきありがとうございます。

答えて

2

少し奇妙な状況です。私はこのケースで何をするだろう:

  1. PhoneListenerのメソッドを実装し、public void nudge()をしましょう。このメソッドは、オブジェクトの現在の状態と現在の時刻を記録します。すべてのログ情報は、デバイスファイルシステム上のEventLoggerインスタンスおよび/またはテキストファイルに書き込まれる必要があります。

  2. PhoneListenerオブジェクトの整合性を制御するTimerTaskを実装します。これはオブジェクトの存在をチェックするだけです(!= null、そしてnudge()メソッドを呼び出します)。短い繰り返し期間を設定すると、メディアカード上のテキストファイルへのロギングが優先されることに注意してください。内部デバイスメモリを使用する大量のデータをEventLoggerに書き込むと、デバイスがハングアップすることがあります。

  3. ログファイルを検査します。

あなたには何が起こっているのかが分かるかもしれません。

関連する問題