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

时间:2015-08-22 07:16:24

标签: android push-notification broadcastreceiver

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

用例1:应用程序未运行

  • BroadcastRecevier获取推送消息
  • BroadcastRecevier将消息保存到db
  • BroadcastRecevier为运行时BroadcastRecevier发送广播消息
  • 应用程序启动时,从db
  • 中读取消息

用例2:应用程序正在运行

  • BroadcastRecevier获取推送消息
  • BroadcastRecevier将消息保存到db
  • BroadcastRecevier为运行时BroadcastRecevier发送广播消息
  • 运行时BroadcastReceiver获取消息并处理它

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

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