您的位置:首页 > 编程语言

《第一行代码》学习笔记之通知的基本用法

2016-04-26 18:21 337 查看

《第一行代码》学习笔记之通知的基本用法

获取NotificationManager的实例

NotificationManager manager =
(NotificationManager)getSystemService(NOTIFICATION_SERVICE);


创建Notification对象,用于存储通知所需的各种信息

第一个参数用于指定通知的图标

第二个参数用于指定通知的ticker内容,在通知创建时一闪而过,属于一种瞬时的提示信息

第三个参数用于指定通知被创建的时间,以毫秒为单位

Notification notification = new Notification(
R.drawable.ic_launcher,
"This is ticker text", System.currentTimeMillis());


对通知的布局进行设定:

notification.setLatestEventInfo(this, "This is content title",
"This is content text", null);


notify()方法接收的两个参数:第一个参数是id,保证每个通知所指定的id都是不同的,第二个参数则是Notification对象

manager.notify(1, notification);


实现通知的点击效果,第四个参数用于确定PendingIntent的行为:

Intent intent = new Intent(this, NotificationActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT);


注册声明,根据自己定义的类名声明:

<activity android:name=".NotificationActivity">

</activity>


点击通知后,取消系统状态栏上的通知图标:

NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//取消通知,传入相应的id
manager.cancel(1);


通知到来时设置手机振动:

第一个:手机静止时长

第二个:手机振动时长

第三个:手机静止时长,以此类推

long[] vibrate = {0, 1000, 1000, 1000};
notification.vibrate = vibrate;


加入振动权限:

<uses-permission android:name="android.permission.VIBRATE" />


设置LED灯闪烁:

//控制LED灯的颜色
notification.ledARGB = Color.GREEN;
//LED亮起的时长
notification.ledOnMS = 1000;
//指定LED灯暗去的时长
notification.ledOffMS = 1000;
//指定通知的一些行为
notification.flags = Notification.FLAG_SHOW_LIGHTS;


直接使用通知的默认效果:

notification.defaults = Notification.DEFAULT_ALL;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: