在Android中通过JSON格式实时通知

时间:2016-01-24 13:19:26

标签: android api notifications

我有一个关于足球/足球的应用程序,我使用API​​来获取有关比赛的信息,我需要一种方法来在这个具有JSON格式的API中添加目标时进行实时通知。

4 个答案:

答案 0 :(得分:0)

这是您弹出通知的方式:

Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.logo_notification)
                .setContentTitle(title)
                .setContentText(body)
                .setAutoCancel(true)
                .setSound(defaultSoundUri)
                .setVibrate(new long[] { 200, 200, 200})
                .setContentIntent(pendingIntent);

        NotificationManager notificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        notificationManager.notify(id, notificationBuilder.build()); //id is the notification id, if you use the same id, the notification will override the previous

答案 1 :(得分:0)

为了实现功能,

  1. 经常使用服务(可能每5分钟一次)检查有关匹配的信息。
  2. 如果您有任何更新,请向用户显示通知。
  3. 显示通知:

    PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), 0);
    Notification notification = new NotificationCompat.Builder(getApplicationContext()).setTicker("Ticker Text").setSmallIcon("Icon").setContentTitle("Title").setContentText("Content Text").setContentIntent(pi).setAutoCancel(true).build();
                                    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                                    notificationManager.notify(0, notification);
    

    有关详细信息,请使用此链接 here

答案 2 :(得分:0)

如果您可以访问后端Web服务代码,请查看Google云消息传递(gcm)服务,它就是为此目的而制作的。如果使用gcm不可行,则需要设置重复警报,但不会像gcm那样准确。但我强烈建议去gcm。这是一个供您参考的链接。 GCM dev docs

对于无法访问后端源代码的情况,另一种解决方法是开发一种中间层的Web服务,该服务可以轮询您的后端并使用gcm来提醒客户端。这样,至少你不会浪费用户的系统资源。

答案 3 :(得分:0)

您真正想要做的是运行Receiver并检查更新。对于实时更新,我会使用Socket。

这在很大程度上取决于您的服务器。