博观而约取,厚积而薄发。这篇文章主要讲述Android通知中来自外部网址的setSmallIcon相关的知识,希望能为你提供帮助。
我需要通过PNG从外部URL设置小型android通知图标,而不是使用mipmap。
if (android.os.Build.VERSION.SDK_INT >
= Build.VERSION_CODES.LOLLIPOP) {notificationBuilder.setSmallIcon(R.mipmap.ic_notification);
notificationBuilder.setColor(ContextCompat.getColor(getApplicationContext(), android.R.color.transparent));
}
需要传递外部PNG图像而不是使用:R.mipmap.ic_notification
有谁知道这是否可能?
答案如果您阅读特定于Notification.Builder的开发人员文档,您将看到
setSmallIcon(int icon)
需要在应用程序的drawable包中使用A资源ID。【Android通知中来自外部网址的setSmallIcon】下载图像,转换为位图,然后将其设置为
setSmallIcon(int resId)
仍然会给你一个错误。即使您要将Bitmap转换为Drawable,例如:
Drawable d = new BitmapDrawable(getResources(), bmpFinal);
它仍然会给你一个错误,因为你的应用程序包中不存在Drawable。
唯一可行的解??决方案是使用包中存在的Drawable资源并将其设置为
setSmallIcon()
方法。典型用法:builder.setSmallIcon(R.drawable.ic_launcher);
或者,
setLargeIcon (Bitmap icon)
需要一个Bitmap实例。无需在当前代码中进行任何其他更改(因为您已经有了Bitmap),您可以按原样使用它,如果它符合您的要求。如果没有,您几乎必须使用已存在于其中一个可绘制文件夹中的
Drawable
资源。推荐阅读
- 推送通知停止在parse.com android项目中工作
- 如何使用离子3中的特定联系人从其他应用程序打开Whatsapp应用程序()
- 当app运行时,如何在android中以编程方式关闭通知()
- Android应用程序是否有可能杀死自己的进程
- Android(如何调试应用程序的启动过程)
- 在Android Repo项目中切换Git分支
- Android(无需点击即可在Listview上设置焦点突出显示)
- Android - onClick Listview项目显示描述和窗口/视图/页面中的链接
- 当ListView为空时Android显示文本