如何在推送通知 (GCM) android 中发送图像?

Posted

技术标签:

【中文标题】如何在推送通知 (GCM) android 中发送图像?【英文标题】:how to send images in push notifications (GCM) android? 【发布时间】:2015-08-11 07:01:16 【问题描述】:

我是推送通知概念的新手。所以我正在学习推送通知。我们如何在推送通知中获得多行文本。

最近我也在推送通知中看到了图像。我们如何在 android 中获得这种类型的推送通知。请任何人建议我或提供链接。提前谢谢你。

我试过但没有收到多行通知。这不适用于旧版本。

代码:

 PendingIntent p= PendingIntent.getActivity(context, 3456, in, PendingIntent.FLAG_UPDATE_CURRENT);
        NotificationCompat.Builder b=new NotificationCompat.Builder(context);
        b.setAutoCancel(true)
                .setDefaults(Notification.DEFAULT_ALL)
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.drawable.reload_logo)
                .setTicker("Post Paid bill")
                .setContentTitle("Reload.in")
                .setStyle(new NotificationCompat.BigTextStyle().bigText(message))
                //.setContentText("Rs.has to be paidjhgfhdjgf dhfhh hfdufgjhbj fhgjfg bfdjgjfg jfjb ndjfd d vdgfvhdgf")

                .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND)
                .setContentIntent(p)
                .setContentInfo("Info")
                .setContentText(message).build();


        NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(1, b.build());

【问题讨论】:

【参考方案1】:

要在通知中显示多个文本,您可以使用以下代码。

对于 Jelly Bean 及更高版本,您可以使用可扩展通知。最简单的方法是使用 NotificationCompat.BigTextStyle 作为通知。使用下面的代码。

NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle();
bigTextStyle.setBigContentTitle(getString(R.string.title));
bigTextStyle.bigText(getString(R.string.long_explanation));

mBuilder.setStyle(bigTextStyle);

您不能在推送通知中发送图像。您可以在推送通知中发送数据限制。

安卓

GCM 中的消息大小限制为 4 KB。

https://developer.android.com/google/gcm/server.html#params

您必须在服务器中发送图像的 URL,然后在接收方接收推送通知时,您必须从服务器获取图像,然后您必须在通知中显示图像。

编辑 如需在通知中显示大图,请参阅this。

【讨论】:

是的,Jelly Bean 及更高版本具有可扩展的通知。谢谢。【参考方案2】:

在您的服务器端;在消息正文中,您可以发送键值数据。对于多行文本,请使用长通知来显示消息。 https://developer.android.com/guide/topics/ui/notifiers/notifications.html对于图片,您需要从服务中获取 url 并获取该图片并相应地显示。http://developer.android.com/reference/android/app/Notification.BigPictureStyle.html

【讨论】:

感谢您的回复。为了显示图像,我需要设计任何自定义布局? @kartheekij 对你有帮助吗? 请看我编辑的帖子。我只收到单行通知

以上是关于如何在推送通知 (GCM) android 中发送图像?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 我如何发送 GCM 推送通知,其中包含要加载哪个活动的说明?

使用 c# .net 发送带有图像的 GCM 推送通知(适用于 android 应用程序)

向 Android 应用程序用户发送推送通知

为啥 GCM 不在 android 设备中提供推送通知?

Android - 将用户发送到 Activity 的 GCM 推送通知不会导致 onCreate 调用

从 web 上的 fcm 向现有 gcm 用户发送推送通知