2012-01-21 8 views
3

現在、放送受信機が動作しているかどうかを確認することは可能ですか?それを確認する方法は可能でしょうか?ブロードキャストレシーバがAndroidが動作しているかどうかを確認するには?

+0

なぜかどこでその実行をかどうかを確認したいかんあなたは、何をすべきかをしようとしています – confucius

+0

緯度の値を確認しています。私はログインフォームで放送受信機を使ってアプリケーションを作成します.whenevr私の受信機が自動的に起動されたフォームを入力しました。しかし、私は一度起動する必要があります – Mercy

+1

'BroadcastReceiver'は永久に実行するものではありません。マニフェストに 'BroadcastReceiver'を登録して、さまざまな' Intents'を受信できるようにするか、コード内で動的に登録/登録解除します。トリガされたときを知りたければ、 'log'メソッドを使ってlogcatでそれを追跡するだけです。 – Squonk

答えて

1

あなたは、実行時にそれを確認したい場合は、グローバルboolean変数を格納し、falseにそれを設定し、onReceive()trueに設定し、onReceive()終了する前に戻ってfalseに設定することができます。 このグローバル変数をチェックして、そのブロードキャストレシーバが実行中であるかどうかを確認できます。

あなたが意味する場合は、その仕事かどうかは、ログの猫の例にメッセージを作る場合BroadcastReceiverがバックグラウンドで実行されるものではない

onReceive(){ 
    Log.d("my broadcast","works"); 
    } 
1

知りたいです。それは目が覚めて、限られた範囲で殺されるでしょう。

4

あなたは、動的に登録された受信機のためにこれをデバッグするためdumpsysを使用することができます。

adb shell dumpsys activity broadcasts

はデバッガではgrepとブレークポイントとの組み合わせで、これを使用して、ブロードキャストは、ある時点で登録されている場合、あなたは見つけることができますか否か。

これは、静的に登録レシーバを支援することになっているが、私はそれを自分自身を使用していない:

adb shell dumpsys package