Android提供了对通知的定制,如设置通知的震动、声音、设置通知的显示样式、设置在通知栏中的更新进度等。
相关属性值和常量。
属性 defaults :Notification类中表示声音的属性
常用常量:
1、DEFAULT_SOUND 声音
2、DEFAULT_ALL 使用所有默认值
EG: notification.defaults |= Notification.DEFAULT_ALL; 表示震动声音等全部使用默认值
3、DEFAULT_LIGHTS 闪光
属性vibrate :Notification类中表示震动的属性
注意:手机震动需要加入权限:
<uses-permission android:name=
"android.permission.VIBRATE"
/>
设置flag的常量:
FLAG_AUTO_CANCEL 该通知能被状态栏的清除按钮给清除掉
FLAG_NO_CLEAR 该通知不能被清除掉
FLAG_ONGOING_EVENT 通知放置在正在运行
FLAG_INSISTENT 是否一直进行,比如音乐一直播放,知道用户响应
效果属性可以叠加,如设置震动效果:
notification.defaults |= Notification.DEFAULT_VIBRATE; /**因为defaults属性中可能还有别的值,为保留之前的值,并添加震动效果,使用|= 来操作。*/ notification.vibrate = new long[]{0,100,200,300}; /**这个数组定义了交替的震动和关闭,以毫秒为单位。第一个值是等待多久开始震动,第二个值是第一次震动的时间,第三个值是停止震动的时间,以此类推。定义多长时间都行,但是不能设置为重复。*/
自定义声音:
notification.sound = Uri.parse("file:///sdcard/notification/qq.mp3");
自定义闪光方式:
// 定义闪光灯 // 路灯显示300毫秒然后关闭一分钟。如果设备不支持制定的颜色,则会按照最近的颜色显示。 mNoti.ledARGB = 0xff00ff00; mNoti.ledOnMS = 300; mNoti.ledOffMS = 1000; mNoti.flags |= Notification.FLAG_SHOW_LIGHTS;
下面来看一个简单的Notification案例:
当点击Button,发送通知消息:
步骤1:定义NotificationManager和Notification对象
//创建通知管理器,该对象的作用是负责状态栏通知的管理,负责发通知、清除通知等 NotificationManager mNotiManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //创建通知对象 // param1:通知来时状态条显示的图标 // param2:通知来时状态条显示的通知说明文字 // param1:通知来时的时间 Notification notification = new Notification(R.drawable.icon,"通知来了",System.currentTimeMillis());
步骤2:创建Intent对象,并指定通知的目标组件,示例代码。
// 设置目标组件,点击通知后跳转的Activity Intent intent = new Intent(this, MainActivity.class);
步骤3:创建PendingIntent对象,设置随时更新通知(Param4)
// 创建PendingIntent对象,设置通知随时更新 // 其作用是是定义了一个不是当即显示的activity,只有当用户拉下notification显示列表,并且单击对应的项的时候,才会触发系统跳转到该activity. PendingIntent pIntent = PendingIntent.getActivity(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
步骤4:设置contentIntent属性为pIntent.
notification.contentIntent = pIntent;
步骤4:设置通知来的显示样式:
notification.defaults = Notification.DEFAULT_ALL;
步骤5:在此处设置在nority列表里的该norifycation得显示情况。
notification.setLatestEventInfo(this, "lydia微博客户端更新通知", "请下载lydia微博客服端", pIntent);
步骤6: 发送通知
mNotiManager.notify(R.id.btn1, notification);
效果:
相关推荐
安卓Android源码——notification.rar
"安卓Android源码——notification1.rar"这个压缩包很可能包含了Android系统中关于通知机制的源代码,帮助开发者深入理解其工作原理。 通知在Android中的实现涉及到多个组件和接口,主要包括以下几个关键知识点: ...
"安卓Android源码——实现Notification的通知栏常驻.zip"这个资源显然包含了关于如何使通知在通知栏中持续显示的代码示例。这里我们将深入探讨Android中创建和管理Notification的基本概念,以及如何实现通知栏常驻。...
Google在Android 5.0 上又进一步改进了通知栏,优化了Notification。当长按Notification的时候,会显示消息来源。Notification会有一个从白色到灰色的动画切换效果,最终显示发出这个Notification的调用者。同时,在...
本文将深入解析如何通过Android源码实现一个通知栏常驻的Notification。 首先,我们需要理解Notification的工作原理。在Android系统中,Notification是由`NotificationManager`服务管理的,开发者通过`Notification...
"Android中notification通知的Demo——震动,铃声,Led灯闪烁"这个主题主要涉及如何创建具有特殊反馈效果的通知,如震动、铃声和Led灯闪烁。以下是对这些知识点的详细解释: 1. **Notification的创建**: 创建一个...
在Android开发中,掌握基本组件是至关重要的,因为它们构成了应用程序的基础框架。本章节主要讨论了两种关键的用户反馈机制:Toast和Notification,它们在Android系统中起到“温馨提醒”的作用。下面将深入探讨这两...
5. **通知与提醒**:Android的Notification API用于在特定时间提醒用户,可能结合AlarmManager来设置定时任务。 6. **权限管理**:由于Android的权限系统,开发者需要处理读写日历的相关权限请求。 7. **版本兼容...
1. 使用Canvas绘制:Android的View类提供了丰富的绘图API,通过Canvas对象可以绘制出日历的格子、日期等元素。自定义日历视图通常需要重写onDraw()方法,根据日期范围计算每个格子的位置和大小,然后绘制相应的日期...
第7章 良好的学习开端——Android基本组件介绍之温馨的提醒——Toast和Notification应用 第8章 移动信息仓库——Android的数据存储操作之Android数据存储概述 第8章 移动信息仓库——Android的数据存储操作之轻轻地...
在“安卓Andriod源码——实现Notification的通知栏常驻.zip”这个压缩包中,我们主要关注的是如何创建一个能够在用户翻阅其他应用或者关闭屏幕后仍然保留在通知栏的常驻Notification。 首先,我们需要了解...
首先,我们需要明白APNS(Apache Push Notification Service)并不是Android系统的官方服务,而是通常指苹果的Push Notification Service。然而,在这里,“apns”标签可能是开发者为了表示类似功能的一个简称,或者...
- 通知与提醒:利用Android的`AlarmManager`配合`BroadcastReceiver`和`Notification`,为用户设定的事件设置提醒。 4. **权限管理**: - 在AndroidManifest.xml中声明所需的权限,如读写日历权限(READ_CALENDAR...
这个"Android源码——闹钟源代码.zip"文件可能包含了Android系统闹钟应用(DeskClock)的源代码,以及相关的图片资源。通过对这些源代码的学习和分析,我们可以深入了解Android系统如何实现闹钟功能。 首先,`...
- **内容概述**: 该文章分享了一些高级的Notification使用技巧,例如如何处理复杂的点击事件、如何动态更新Notification的内容等。 **6. 在Android中使用Notification进行提示** - **链接**: ...
通过参考提供的博客链接——,我们可以深入理解Android通知的用法和兼容性问题。 首先,从Android 8.0(API级别26)开始,通知渠道(Notification Channel)被引入,这是为了提升用户体验和控制应用的通知权限。...
开发者需要熟悉Android的生命周期、活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)、内容提供者(ContentProvider)以及通知(Notification)等核心组件。此外,还要了解如何调用Android API...
本项目"Android25闹钟项目"中,开发者选择使用TabHost来构建一个具备时间刷新功能的闹钟应用,这在Android早期版本中是一个常见实践。下面将详细讲解TabHost的使用以及如何实现时间的刷新。 首先,TabHost是一个...
8. **通知与提醒**:为了提高用户体验,应用可能会实现定时提醒用户喝水或进食的功能,这需要使用到Android的Notification API。 9. **测试与调试**:源码中可能会包含单元测试和集成测试,使用JUnit或Espresso进行...