2

我正在使用 Rails 后端使用 GCM 向我的 android 应用程序用户发送推送通知。我让这一切工作得很好,但现在我想知道如何更好地格式化消息。我之前看到过来自其他应用程序的推送通知,其中包含额外的图像和不同的字体颜色。有谁知道如何用 GCM 实现这一点?

我在通知中的应用程序图标也非常小。反正有没有让它更大的尺寸?

谢谢。

4

1 回答 1

1

您的问题与 GCM 并没有真正的关系。GCM 仅用于传递您将在通知中显示的数据。通知的外观仅与 Android 通知有关。

如果你想控制通知的布局,你有几个选择:

  • 自定义通知 - 这是您将应用程序定位为旧版 Android 版本的方法。

    您可以通过定义布局资源、使用该布局创建视图并将视图连接到通知来实现。例如 :

    Notification notification = new Notification(R.drawable.notification_image, title, System.currentTimeMillis());
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification);
    contentView.setImageViewResource(R.id.image, R.drawable.notification_image);
    contentView.setTextViewText(R.id.title, title);
    contentView.setTextViewText(R.id.text, message);
    notification.contentView = contentView;
    

    请注意,此方法不会更改通知在屏幕上占用的总面积,因此,例如,如果您使用大字体,您将没有空间容纳许多字符。

  • 较新的 Android 版本(API 级别 16)具有Notification.BigTextStyle用于生成包含大量文本的大格式通知和Notification.BigPictureStyle用于生成包含大图像附件的大格式通知。

  • 另一种选择是使用NotificationCompat类,使您能够在较低的 API 级别中使用一些较新的通知功能。

于 2013-08-07T02:54:41.533 回答