如何在接收来自服务器的请求时直接打开我的应用活动?

时间:2017-07-17 08:33:30

标签: java android push-notification firebase-cloud-messaging

我在android中创建一个出租车司机应用程序。当乘客请求乘车时,请求将被发布到服务器。现在,服务器将请求发送给附近的出租车司机。驱动程序应用程序具有警报器的活动,必须在接收请求时触发。因此,每当请求到达时,我必须用警笛声显示警笛活动。如何实现这一功能?即使驱动程序应用程序处于后台,我也必须显示活动。

感谢。

4 个答案:

答案 0 :(得分:2)

  • 用户GCM / FCM将请求从服务器发送到客户端应用程序。
  • 在onReceive方法中收到回调

    使用以下代码触发意图;

        Intent i = new Intent(this, destinationActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(i);
    

答案 1 :(得分:1)

您需要使用socketIo实时连接到服务器。这是最好,最便宜的方式。

当然您可以使用FCM,但是对于一定数量的请求是免费的,然后它将被支付

答案 2 :(得分:0)

服务器无法直接向应用程序发送请求。它只响应传入的请求,因此您必须在应用程序中创建类似Socket的内容以侦听来自服务器的响应。

答案 3 :(得分:0)

在收到特定邮件时,从fcm中的onMessageReceived()方法开始活动。

startActivity(new Intent(this, TargetActivity.class));