`

Android——Notification的基本使用

 
阅读更多

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);

 

 效果:


    
 
 

  • 大小: 38.1 KB
  • 大小: 15.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics