0

这个问题以前有人问过,但还没有得到正确的回答。我知道这是可能的,但我们感到有点困惑。

当收到推送通知时,我们需要在状态栏中显示自定义/动态图像。我们关心的是下拉菜单中的大图,而不是实际状态栏中的小图。因为它们需要是动态的,所以图像不能用 apk 打包,我们正在尝试针对 Android 2.2

我们试图实现的目标类似于 Facebook 如何在通知栏中显示发起通知的用户的个人资料图像。这也类似于当新的推送通知到达时,WhatsApp 在通知栏中显示群组图像的方式。

根据我们所读到的,这仅在 Android 3+、sdk 11 中才有可能。但事实并非如此。

我们已经在运行 2.3.4 的 Android 手机上安装了 Facebook 和 WhatsApp,果然,自定义图标显示在通知栏中。

那么秘诀是什么?他们是如何做到的呢?我们该怎么做?

4

2 回答 2

2

所以你要做的是setLargeIcon(Bitmap icon)在通知生成器中设置。这在 APi 11 及更高版本(蜂窝)中可用。兼容包 v9 中的通知生成器可以为你设置,但只会出现在 api 11 及以上版本。要在 2.3 及以下版本中达到相同的效果,您必须创建自定义通知布局并setContent(RemoteViews views)在 Notification.Builder 中进行设置以生成自定义布局。这可以在左侧用一个大图标设置样式,以模仿 > API 11 样式。

创建自定义布局很棘手,必须考虑很多事情,例如在其他设备上显示通知的可用屏幕尺寸和主题文本颜色(尤其是通知曾经是白色背景上的深色文本,现在它们是浅色文本在黑暗的 bg 上)有很多指南甚至 SO 帖子可以帮助你(比如这个

关于获取动态图像,当手机收到消息(推送通知或其他)并且您的应用程序开始构建通知时,您可以在构建通知之前执行一个小的 http 请求来拉动动态图像。这将延迟发布几秒钟,但这并不重要。然后您可以获取生成的图像并在通知中使用它。可以通过发送一些数据来选择特定的图像(我假设是推送通知),这些数据标识了哪些照片,例如 url,或者您可以附加到应用程序的通知构建部分中已经存在的 url 上的 id。

希望这会有所帮助,任何后续都只是问:)

于 2012-07-18T21:26:46.200 回答
-1

除了在状态栏上看到的通知图标,您不能使用任何东西,只能使用预先打包的可绘制对象作为通知图标。不,你没有看到任何你在 FB 应用程序中寻找的东西(或者你谈论的是当你把它拉下来时看到的通知区域)。

于 2012-07-17T20:36:26.457 回答