如何在android中检查广播接收器是否正在运行?

如何在android中检查广播接收器是否正在运行?,android,broadcastreceiver,Android,Broadcastreceiver,Hai是否可以检查广播接收器当前是否正在运行?如果可能,如何检查?如果要在运行时检查广播接收器,可以存储一个全局布尔变量,并将其设置为false,然后在onReceive()内将其设置为true并在onReceive()之前exit将其设置回false。 任何时候,您都可以检查这个全局变量来判断广播接收器是否正在运行 如果您的意思是想知道它是否有效,请向log cat示例发送消息 onReceive(){ Log.d("my broadcast","works"); }

Hai是否可以检查广播接收器当前是否正在运行?如果可能,如何检查?

如果要在运行时检查广播接收器,可以存储一个全局
布尔
变量,并将其设置为
false
,然后在
onReceive()
内将其设置为
true
并在
onReceive()之前
exit将其设置回false。 任何时候,您都可以检查这个全局变量来判断广播接收器是否正在运行

如果您的意思是想知道它是否有效,请向log cat示例发送消息

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

BroadcastReceiver
不打算在后台运行。它将在有限的范围内被唤醒和终止。

您可以使用dumpsys帮助调试动态注册的接收器:

adb shell dumpsys活动广播

将其与调试器中的grep和断点结合使用,可以发现广播是否在特定时间注册

这应该有助于静态注册接收器,但我自己没有使用过:


adb shell dumpsys软件包

您想做什么,为什么或在哪里检查它是否正在运行或notam检查以获取纬度值,我在登录表单中使用broadcast receiver创建了一个应用程序。当我输入表单时,我的接收器会自动启动。但我需要在一次启动,因为broadcast receiver不打算永久运行。在清单中注册一个
BroadcastReceiver
,允许它接收各种
意图
,或者在代码中动态注册/取消注册。如果您想知道它何时(如果)被触发,那么只需使用
Log
方法在logcat中跟踪它。这取决于您希望它如何工作?你什么时候登记?你什么时候注销它?@MisterSquonk我只动态注册