NotificationManager 使用Bitmap做图标

自定义带倒影和偏转的超炫Gallery
http://www.eoeandroid.com/thread-236334-1-1.html

GPS封装类,封装了GPS细节,通过start和stop调用
http://www.eoeandroid.com/thread-236426-1-1.html

关于Zxing二维码扫描开灯的问题
http://www.eoeandroid.com/thread-235785-1-1.html

---------------------------帖子正文-------------------------

今天看到EOE问答里面有这“[Android 界面]NotificationManager 如何使用Bitmap做图标 http://www.eoeandroid.com/thread-230996-1-1.html ”这样一个问题,在论坛搜索也没有好的案例

特写一个简单的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;
}

 

源码下载:NotificationIcon.rar

转载于:https://www.cnblogs.com/nuliniaoboke/archive/2012/12/10/2811422.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值