2012-05-22 16 views
5

私は、AlarmManagerからの通知を受け取るマニフェストにbroadcastReceiverを登録しました。これは、アプリが実行されている間、すべて素晴らしいです。 onReceive()メソッドが呼び出されています。アプリケーションが実行されていないときにBroadcastReceiver

しかし、実行していないときにbroadcastReceiverがAlarmManagerからの通知を引き続き受信するかどうかをテストできるように、アプリケーションを強制停止すると、onReceive()メソッドは呼び出されません。

このようにAlarmManager &を強制的にテストしてテストすることはできませんか?それはうまくいかないと答えているようですが、それはすべきだという意見もあります。

もしそうでなければ、これをテストする方法はありますか?

ありがとうございました。

+0

マニフェストに「BroadcastReceiver」を定義しましたか? –

+0

@jFort:アラームに 'WAKEUP'タイプの1つを使用していますか?もしそうでなければ、それが原因かもしれないが、私は確信していない。 – Squonk

+0

はい、ブロードキャストレシーバーはマニフェストで定義されています。アラームマネージャは定義されています。AlarmManager.RTC – jFort

答えて

3

受信者がマニフェストに登録されている場合、常に動作するはずです。アプリが強制終了されても

問題がアラームである可能性があります。アプリの強制終了後、アラームが削除される可能性があります。

+0

ありがとう。私がそれを知っているなら、**私はトラブルシューティングを続けるつもりです。これらのアラームに何が起きているかを知る方法はありますか? – jFort

+0

クラッシュは予期せぬことが起こることを意味します。したがって、プログラムのリカバリ時にアラームを再初期化する必要があります。私は警報に何が起こるかを正確には知らない。申し訳ありません –

+1

アンドロイド>バージョン3.0の場合、アプリが強制終了されたときに受信機が機能しなくなります。 –

1

this answerのコメントによると、このタイプのものは自分でアプリを殺すことでテストできません。あなたはアプリが "自然に"死ぬように例外を投げる必要があります。

関連する問題