前言
简单记录一下Notification的使用,这里设计简单Notification和自定义View的Notification的使用。
记录于此,方便自己查阅和学习。
正文
简单Notification
由于高版本需要添加NotificationChannel,下面就进行了一定的适配。
private String mChannelID = "";
private String mChannelName = "读书导航";
private NotificationManager mNotificationManager;
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationChannel notificationChannel;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
notificationChannel = new NotificationChannel(mChannelID, mChannelName, NotificationManager.IMPORTANCE_HIGH);
notificationChannel.setSound(null, null);
mNotificationManager.createNotificationChannel(notificationChannel);
}
private void sendNotification(int id, String title, String message) {
//点击Notification时跳转PendingIntent
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClass(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
@SuppressLint("UnspecifiedImmutableFlag")
PendingIntent pendingIntent = PendingIntent.getActivity(this
, (int) SystemClock.uptimeMillis()
, intent
, PendingIntent.FLAG_UPDATE_CURRENT);
Notification.Builder builder = new Notification.Builder(this);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
builder.setChannelId(mChannelID);
}
//设置通知栏大图标,上图中右边的大图
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
// 设置状态栏和通知栏小图标
.setSmallIcon(R.mipmap.ddf)
// 设置通知栏应用名称
.setTicker("ticker")
// 设置通知栏显示时间
.setWhen(System.currentTimeMillis())
// 设置通知栏标题
.setContentTitle(title)
.setSubText("setSubText") // 内容下面的一小段文字
.setTicker("setTicker") // 收到信息后状态栏显示的文字信息
// 设置通知栏内容
.setContentText(message)
// 设置通知栏点击后是否清除,设置为true,当点击此通知栏后,它会自动消失
.setAutoCancel(false)
// 将Ongoing设为true 那么左滑右滑将不能删除通知栏
.setOngoing(true)
// 设置通知栏点击意图
.setContentIntent(pendingIntent)
// 铃声、闪光、震动均系统默认
.setDefaults(Notification.DEFAULT_ALL)
// 设置为public后,通知栏将在锁屏界面显示
.setVisibility(Notification.VISIBILITY_PRIVATE)
// 从Android4.1开始,可以通过以下方法,设置通知栏的优先级,优先级越高的通知排的越靠前,
// 优先级低的,不会在手机最顶部的状态栏显示图标
// 设置优先级为PRIORITY_MAX,将会在手机顶部显示通知栏
.setPriority(Notification.PRIORITY_MIN);
mNotificationManager.notify(id, builder.build());
}
自定义View的Notification
这种是多媒体中比较常用的。
历史上的今天
暂无评论...
随机推荐
罗伯特·弗罗斯特:未选择的路
黄色的树林里分出两条路,可惜我不能同时去涉足,我在那路口久久伫立,我向着一条路极目望去,直到它消失在丛林深处。 但我却选了另外一条路,它荒草萋萋,十分幽寂,啊,留下一条路等改日再见! 但我知道路径延绵无尽头,恐怕我难以再回返。 也许多少年后在某...
去除磁盘中Video,Music,Ringtones等目录
前言在Android设备中插入U盘,会自动生成一堆默认目录,比如Music,Podcasts,Ringtones和Pictures等目录。现在客户需求不要这些目录,因此,需要去影藏。正文当然U盘中还存LOST.DIR 用于保存文件系统崩溃或其他问题期间恢复的文件Android ...
[摘]Android性能优化篇之内存优化--内存泄漏
SHUI知道这篇文章对Android性能优化篇之内存优化--内存泄漏总结得很到位,基本上涵盖了。感谢感谢。什么是内存泄漏当一个对象已经不需要在使用了,本应该被回收,而另一个正在使用的对象持有它的引用,导致对象不能被回收。因为不能被及时回收的本该被回收的内存,就产生了内存泄漏。如果内存泄漏太多...
朱自清:匆匆
燕子去了,有再来的时候,杨柳枯了,有再青的时候,桃花谢了,有再开的时 候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他 们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:如今又到了哪里呢?我不知道他们给了我多少日子,但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我...
Android中ImageView半边圆角处理记录2
前言之前介绍过对ImageView进行圆角处理,具体文章《Android中ImageView半边圆角处理记录 -笔友城堡 - 阅读是一种生活方式 ()》,后面发现网上还有一种更简单的一种方式。有点:代码少,简单缺点:边界不够圆滑(存在锯齿)正文具体效果如下(左侧是RoundImage...
周国平:我们都误解了幸福的含义
什么是幸福?1)幸福是人的一切行为的终极目的亚里士多德语。原话:幸福是人的一切行为的终极目的,我们永远只是因为它本身而选择它,正是为了它,所有的人才做其他事情。表达三个意思:一、幸福是人人都想要的,没有人不想要幸福;二、幸福本身是好东西,我们是因为它本身而要它的;三、只有幸福是终极目的,别的一切...