广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Android界面 NotificationManager使用Bitmap做图标

    2018-04-04 08:35:23 次阅读 稿源:互联网
    广告
    今天看到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;
    }

    源码下载:NotificationIcon.rar

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告