我有一个关于足球/足球的应用程序,我使用API来获取有关比赛的信息,我需要一种方法来在这个具有JSON格式的API中添加目标时进行实时通知。
答案 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)
为了实现功能,
显示通知:
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。
这在很大程度上取决于您的服务器。