0

我已经在我的应用程序的 oncreate 方法中注册了 Intent.action_screen_off/on,并且我可以在我的应用程序运行时接收事件。但是当我的应用程序退出时,我得到了一个广播意图泄漏异常(在我的脑海中,我认为这就是它的名字,无论哪种方式,它都是由于在我的应用程序退出时没有取消注册我的接收器引起的)

当我的应用程序未运行时,如何接收这些事件?我不想使用服务或类似的东西,我见过其他应用程序在没有服务或后台进程的情况下这样做。

4

1 回答 1

2

我见过其他应用程序在没有服务或后台进程的情况下执行此操作。

那是不可能的。BroadcastReceiver除了在运行代码中注册之外,唯一的方法是AndroidManifest.xml在相关的<intent-filter>. Intent.ACTION_SCREEN_OFF由于对于或都无法做到这一点Intent.ACTION_SCREEN_ON,因此您看到的应用程序必须有一些正在运行的组件才能接收广播。

简而言之,使用Service- 我不太清楚你为什么说你不想这样做。

于 2013-04-07T22:16:24.560 回答