我已经在我的应用程序的oncreate方法中注册了Intent.action_screen_off /,我可以在应用程序运行时收到事件。但是当我的应用程序退出时,我得到一个广播意图泄露的异常(我认为这就是它所谓的,无论哪种方式都是由于当我的应用程序退出时未注册我的接收器而引起的)
如果我的应用程序没有运行,我怎么能收到这些事件?我宁愿不使用服务或类似的东西,我见过其他应用程序没有服务或后台进程。
答案 0 :(得分:2)
我看过其他应用没有服务或后台流程就这样做了。
那是不可能的。除了运行代码之外注册BroadcastReceiver
的唯一方法是在AndroidManifest.xml
中使用相关<intent-filter>
声明它。由于无法为Intent.ACTION_SCREEN_OFF
或Intent.ACTION_SCREEN_ON
执行此操作,因此您看到的应用必须拥有一些正在运行的组件才能接收广播。
简而言之,请使用Service
- 我不太清楚为什么你说你不愿意。