当推送消息到达时通知 运行 应用程序更新数据的正确方法是什么?

What is the correct aproach to notify running application to update data when a push message arrives?

我有一个简单的聊天应用程序,可以接收推送通知。为此,我在我的清单文件中注册了一个 BroadcastRecevier。当推送消息到达时,此 BroadcastRecevier 会将传入数据保存到数据库中,以便在应用程序启动时我可以获取未读消息。为了在 运行 处于前台时通知应用程序再次获取数据,我在我的 activity 中定义了另一个 BroadcastRecevier,并在应用程序启动时动态注册。所以我的第一个 BroadcastRecevier 获取数据并将其保存到数据库并为运行时 BroadcastRecevier 发送广播消息。

用例 1:应用程序不是 运行

用例 2:应用程序是 运行

这是一个好习惯吗? 您还有其他更好的解决方案吗?

提前致谢。

这取决于广播接收器是用来处理短任务的,所以如果你正在执行一个短功能,让广播接收器处理(用户案例 2)如果它很大或需要时间使用(用户案例 1)