我正在创建通知,并希望能够动态更改通知中显示的图标(我正在创建/发布)。
当我尝试这样做时,我收到错误 - >的 ncomp.setSmallIcon(绘制对象)
设置通知图标的唯一方法是来自drawable文件夹中我的apk包的一部分吗?有没有办法设置动态图像 - 就像我每次发布通知时下载几个图像并设置不同的图标?????
private void addNotificationtoStatusBar(String packageName, Context ctxt,
CharSequence tickerText, Notification notifObj) {
NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder ncomp = new NotificationCompat.Builder(ctxt);
ncomp.setContentTitle(mAppInfos
.getAppNamefromPackage(packageName, ctxt));
ncomp.setContentText(tickerText);
ncomp.setTicker(tickerText);
PendingIntent resultPendingIntent = notifObj.contentIntent;
ncomp.setContentIntent(resultPendingIntent);
Drawable d = myClass.getDrawable();
ncomp.setSmallIcon(d); // <--**THIS GIVES ERROR**
ncomp.setAutoCancel(true);
nManager.notify((int) System.currentTimeMillis(), ncomp.build());
}
答案 0 :(得分:2)
我已经通过手机接听了,因此我无法为您查找具体方法,但我会回答您并在文档中查找要使用的方法。
将图像放入图标有两种方法。
使用drawable文件夹中的固定drawable,只需将资源ID传递给构建器&#39; R.drawable.myIcon&#39;
您可以使用位图。这个位图可能来自互联网,或者你通过代码生成,它并不重要,一个位图。为此,您应该使用NotifucationsCompat中的Builder,并可能为其添加主题。作为一种下载n缓存的方法,我建议使用Picasso库。 &#39; Picasso.with(上下文).load(URL).fetch();&#39;或其中一种异步方法。