从标准java类设置通知栏图标
Posted
技术标签:
【中文标题】从标准java类设置通知栏图标【英文标题】:Setting notification bar icon from standard java class 【发布时间】:2012-06-26 04:26:24 【问题描述】:我目前正在开发一个 android 项目,我正在尝试从标准 java 类(不是活动类)创建通知。
我在名为 icon.png 的可绘制文件夹中添加了一个图标,但是当我尝试使用 R.drawable.icon
将图标设置为 int 时,图标永远不会只显示默认的内置 android 图标。
我不明白为什么它没有显示我自己的图标。
感谢您提供的任何帮助。
更新 如下要求是设置通知的代码
private void showNotification(String username, String password)
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager notificationManager = (NotificationManager)context.getSystemService(ns);
CharSequence tickerText = "Username Copied";
long when = System.currentTimeMillis();
int icon = 0;
Notification notification = new Notification(icon, tickerText, when);
CharSequence contentTitle = "BPM - Login Management";
CharSequence contentText = "Username Copied";
Intent intentNotification = new Intent();
intentNotification.setAction(Long.toString(when));
notification.flags |= Notification.FLAG_AUTO_CANCEL;
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intentNotification, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
final int NOTIFICATION_ID = 1;
notificationManager.notify(NOTIFICATION_ID, notification);
我只设置了icon = 0
只是为了阻止它给我错误。我知道我需要以某种方式使用 R.drawable 来获取实际的图标 ID。只是不知道为什么这不起作用
【问题讨论】:
您能否向我们展示您设置通知的代码? 【参考方案1】:我不知道为什么我不能对这个问题添加评论。无论如何,您是否厌倦了单击项目菜单,然后单击清理..?然后打开 R.java 文件,看看你的图标是否列在那里? 试试这个:
int icon = R.drawable.icon;
而不是
int icon =0;
【讨论】:
你绑定重命名并再次清理包吗?检查它是否有效?称之为别的东西,例如widgeticon.png 啊试试这个 int icon = R.drawable.icon; 感谢您的帮助,我确实提到我只做了int icon = 0
只是为了停止显示编译错误【参考方案2】:
检查您的导入。
您要导入 COM.YOURAPP.R,而不是 android.R
【讨论】:
我忘了有两个版本的 R。谢谢你的帮助。以上是关于从标准java类设置通知栏图标的主要内容,如果未能解决你的问题,请参考以下文章