从最近列表中刷应用程序后,BroadcastReceiver 不工作
BroadcastReceiver is not working after swiping app from recents list
我正在开发互联网通话应用程序。在我的应用程序中,当应用程序接收到带有某些特定键的 FCM 数据消息时,我使用 BroadcastReceiver
来调用调用屏幕。通常工作正常,但如果我从最近的应用程序列表中刷出我的应用程序,它就无法正常工作。似乎我的 BroadcastReceiver
在刷完应用程序后停止工作,因为所有 FCM 服务仍然存在并且它也接收 FCM 消息并也在 logcat 中显示。
我正在 java 代码中注册我的广播接收器(清单中不是)。
我使用服务 class 来注册广播接收器并覆盖 onTaskRemoved()
并使用 AlarmManager
来保持服务 运行 但它也不起作用。
为什么 BroadcastReceiver
不会被解雇以及如何解决问题?
I am registering my broadcast receiver in java code (not in manifest).
这就是您遇到问题的原因。当用户从最近列表中滑走您的应用程序时,您的应用程序的进程就会被销毁。因此,你的BroadcastReceiver
也被摧毁了。
在 AndroidManifest
中注册您的 BroadcastReceiver
,然后 onReceive()
将被调用,无论您的应用是否有 运行 进程。
我正在开发互联网通话应用程序。在我的应用程序中,当应用程序接收到带有某些特定键的 FCM 数据消息时,我使用 BroadcastReceiver
来调用调用屏幕。通常工作正常,但如果我从最近的应用程序列表中刷出我的应用程序,它就无法正常工作。似乎我的 BroadcastReceiver
在刷完应用程序后停止工作,因为所有 FCM 服务仍然存在并且它也接收 FCM 消息并也在 logcat 中显示。
我正在 java 代码中注册我的广播接收器(清单中不是)。
我使用服务 class 来注册广播接收器并覆盖 onTaskRemoved()
并使用 AlarmManager
来保持服务 运行 但它也不起作用。
为什么 BroadcastReceiver
不会被解雇以及如何解决问题?
I am registering my broadcast receiver in java code (not in manifest).
这就是您遇到问题的原因。当用户从最近列表中滑走您的应用程序时,您的应用程序的进程就会被销毁。因此,你的BroadcastReceiver
也被摧毁了。
在 AndroidManifest
中注册您的 BroadcastReceiver
,然后 onReceive()
将被调用,无论您的应用是否有 运行 进程。