2012-01-21 62 views
3

海是否有可能檢查廣播接收器當前是否在運行?如果可能的話如何檢查它?如何檢查廣​​播接收機是否正在運行或不在android中?

+0

你有什麼做的,爲什麼或者你要檢查其運行或而不是 – confucius

+0

正在檢查獲取的緯度值,我創建了一個應用程序使用廣播接收器登錄form.whenevr我進入表格我的接收器自動啓動。但我需要啓動一次 – Mercy

+1

'BroadcastReceiver'並不意味着永久運行。可以在清單中註冊一個'BroadcastReceiver',使其能夠接收各種'Intents'或者在代碼中動態註冊/取消註冊。如果你想知道何時(如果)它被觸發,那麼只需使用'Log'方法在logcat中跟蹤它。 – Squonk

回答

1

如果你想在運行時檢查它,你可以存儲全局變量boolean並將其設置爲false和你onReceive()將其設置爲trueonReceive()退出之前內部設置爲false。 任何時候你可以檢查這個全局變量來判斷廣播接收器是否正在運行。

,如果你的意思是你想知道它的工作或不作消息日誌貓例子

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

一個BroadcastReceiver不打算在後臺運行。它會在有限的範圍內被喚醒並死亡。

4

您可以使用dumpsys幫助調試此爲動態註冊的接收器:

adb shell dumpsys activity broadcasts

使用這個方法與grep和斷點調試器的組合,你可以找到,如果你的廣播是在一定的時間註冊或不。

據說這是爲了幫助靜態註冊的接收器,但我沒有用它自己:

adb shell dumpsys package

相關問題