首页 > 系统 > Android > 正文

Android界面 NotificationManager使用Bitmap做图标

2019-10-24 21:09:36
字体:
来源:转载
供稿:网友
Android界面 NotificationManager使用Bitmap做图标,如何实现呢,本文将介绍解决方法,需要的朋友可以参考下
 
今天看到EOE问答里面有这“[Android 界面]NotificationManager 如何使用Bitmap做图标”这样一个问题,在论坛搜索也没有好的案例 

特写一个简单的demo供大家参考 
今天发布的是NotificationManager 使用Bitmap做图标 
关键code 
复制代码代码如下:

public void notification(int flag) 

Notification notification = new Notification(); 
//设置statusbar显示的icon 
notification.icon = R.drawable.icon; 
//设置statusbar显示的文字信息 
// myNoti.tickerText= new_msg ; 
notification.flags = Notification.FLAG_AUTO_CANCEL; 
//设置notification发生时同时发出默认声音 
notification.defaults = Notification.DEFAULT_SOUND; 
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification); 
Bitmap bitmap=null; 
if(flag==0) 

bitmap=drawableToBitmap(this.getResources().getDrawable(R.drawable.icon)); 
}else 

//此处是关键地方,可以从网络或是sdcard上获取图片,转成bitmap就可以 
bitmap=drawableToBitmap(this.getResources().getDrawable(R.drawable.alert_dialog_icon)); 

contentView.setImageViewBitmap(R.id.notification_icon, bitmap); 
contentView.setTextViewText(R.id.app_name, "Custom notification"); 
notification.contentView = contentView; 
Intent intent = new Intent(this, MainActivity.class); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 
PendingIntent.FLAG_UPDATE_CURRENT); 
notification.contentIntent = contentIntent; 
//显示Notification 
Random random = new Random(new Date().getTime()); 
mNotificationManager.notify(random.nextInt(1000000), notification); 

//转化drawableToBitmap 
public static Bitmap drawableToBitmap(Drawable drawable) 

Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); 
Canvas canvas = new Canvas(bitmap); 
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); 
drawable.draw(canvas); 
return bitmap; 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表