当前位置: 首页 > 知识库问答 >
问题:

接收到GCM消息时启动活动

嵇光临
2023-03-14

我有一个应用程序,可以通过谷歌云消息接收消息。我需要在收到云消息时自动启动一个活动,必要时唤醒设备。

虽然它似乎是一个糟糕的UI设计,其中一些东西被有力地显示给用户,但这个应用程序对用户的工作是至关重要的,所以当一个云消息到达时,能够清楚地查看它对用户来说是更有用的。

当收到云消息时,我尝试调用startactivity(),当应用程序位于后台时,它可以正常工作。但是,一旦该应用程序从最近的应用程序列表中删除,新活动就不会启动。

共有1个答案

路欣荣
2023-03-14

我假设您正在使用IntentService接收消息

如果是这种情况,您可以使用标志启动活动:

Intent intent = new Intent (this, MyActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
 类似资料:
  • 更新:不推荐使用GCM,请使用FCM 如果我的应用程序打开,如何在收到gcm推送通知时刷新活动。我有一个活动,它包含一个列表视图,其中充满了来自服务器的数据。如果我收到gcm推送通知(其中也包含一些数据),我想刷新我的活动(这里向listview添加一个项目)。 < li >一种替代方法是添加计时器,该计时器定期执行服务器请求并更新列表适配器数据,但我不希望这样做,因为这将占用大量资源。 < li

  • 我刚刚实现了一个GCM应用程序,它在GCM消息到达时显示通知。当消息到达时,如何启动应用程序?和viber一样。当消息到达时,你得到一个弹出框。 编辑: 非常感谢您的帮助,但我想你们大多数人都解释过需要用户单击通知才能启动应用程序。无论前台是什么应用程序,甚至当应用程序处于后台或基态时,我都需要在GCM消息到达后立即自动启动活动。 这是我的GCMIntentService代码:

  • 当监听设备后,会返回接收到的消息数据。 请求方式: 无 返回值: "|4|2|5|message|" 返回接收到的消息 参数 message 返回的消息内容

  • 当订阅的topic接收到消息后,会返回接收到的消息数据。 请求方式: 无 返回值: "|4|1|5|topic|message|\r" 返回接收到的消息 参数 topic 返回消息的topic message 返回的消息内容

  • 我在android上添加了通知服务,该服务运行良好,但当设备重新启动时,我看不到任何消息传递给应用程序。 我检查了打印出来的日志,它显示给我一个日志,上面写着:

  • 要求:一个activemq队列应该在一台机器(比如machine1)中运行。该队列应该从machine1和另一台机器(比如machine2)中访问。监听器将只在machine1中运行。因此,我发送到machine1和machine2的所有消息都应该进入machine1中可用的队列,并且应该被同一台机器(machine1)中可用的监听器接收。 问题:我发送到machine1和machine2的所有消