Android界面 NotificationManager使用Bitmap做图标
时间:2023-06-13 11:59:42
今天看到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
标签:NotificationManage,Bitmap图标
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
flutter ExpansionTile 层级菜单的实现
2023-06-15 16:04:01
![](https://img.aspxhome.com/file/2023/7/91007_0s.png)
Spring Bean常用依赖注入方式详解
2022-06-05 21:43:33
Android如何使用GestureDetector进行手势检测详解
2022-03-21 22:08:46
springmvc实现json交互-requestBody和responseBody
2023-02-26 17:10:45
![](https://img.aspxhome.com/file/2023/0/83440_0s.png)
Java 在游戏中探索数组二维数组
2023-07-01 10:04:04
![](https://img.aspxhome.com/file/2023/1/106191_0s.jpg)
如何利用Jenkins + TFS为.Net Core实现持续集成/部署详解
2022-11-12 06:14:32
![](https://img.aspxhome.com/file/2023/2/92962_0s.png)
android 中 webview 怎么用 localStorage
2023-04-28 04:38:36
Java ExecutorService四种线程池使用详解
2023-05-17 07:12:56
![](https://img.aspxhome.com/file/2023/5/75035_0s.jpg)
详解android使用ItemDecoration 悬浮导航栏效果
2022-05-07 18:17:09
![](https://img.aspxhome.com/file/2023/7/100617_0s.gif)
教你使用springSecurity+jwt实现互踢功能
2023-05-24 19:45:10
![](https://img.aspxhome.com/file/2023/9/122019_0s.png)
通过Feign进行调用@FeignClient 找不到的解决方案
2023-08-18 19:06:52
java中Cookie被禁用后Session追踪问题
2023-10-17 13:44:32
spring security在分布式项目下的配置方法(案例详解)
2022-12-26 03:45:49
Android中.9.png图片的使用及制作
2023-04-05 02:50:36
![](https://img.aspxhome.com/file/2023/7/137707_0s.png)
深入分析Android系统中SparseArray的源码
2022-09-16 13:54:42
字符串替换Replace仅替换第一个字符串匹配项
2021-10-02 17:36:56
创建动态代理对象bean,并动态注入到spring容器中的操作
2021-09-04 01:02:43
![](https://img.aspxhome.com/file/2023/9/71589_0s.jpg)
springmvc后台基于@ModelAttribute获取表单提交的数据
2023-08-05 12:29:35
![](https://img.aspxhome.com/file/2023/7/71657_0s.jpg)
C#中单例模式的三种写法示例
2023-05-04 19:28:25
一篇文章彻底弄懂Java中二叉树
2023-04-08 12:47:30
![](https://img.aspxhome.com/file/2023/0/84180_0s.png)