我目前正在调试一个应用程序,该应用程序应该在设备启动后自动启动。为此,我创建了一个BroadcastReceiver
并将其添加到我的AndroidManifest.xml
中:
<receiver android:name=".receiver.StartupBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
这个方案通常在大多数设备上都能正常工作。但是,在一个设备上(MXQ Pro机顶盒)它只有大部分时间可以工作。到目前为止,我还没有找到任何它什么时候工作、什么时候不工作的规律。
因此,我想找出哪些BroadcastReceiver实际上已经注册到系统中以接收BOOT_COMPLETED Intent。
我尝试使用:
pm
:但这只告诉我哪些包想要接收Intent。dumpsys
:但其输出过于庞大,我不知道该找什么。
感谢任何建议!
dumpsys activity -h
吗? - pskinkdumpsys activity b
看起来很有希望,但即使在一切正常的设备上,我也无法在其中找到我的包名或实际的BroadcastReceiver
。虽然有成百上千个“ReceiverLists”,每个都有自己的ID,但是没有一个与例如dumpsys package my.package.name
的输出相匹配。因此感到了“压倒性的”困难。 - david.miholadumpsys package my.package.name
,得到以下结果:接收器解析器表: 非数据动作: android.intent.action.BOOT_COMPLETED: 52b3eee0 my.package.name/.MyReceiver filter 52b3ef68 Action: "android.intent.action.BOOT_COMPLETED"
。 - pskink