您的位置:首页 > 移动开发 > Android开发

notification入门要点总结

2013-01-07 18:25 197 查看
 

notification就是android手机下拉菜单栏常用的一个控件,可以轻松实现通知效果。

 

下面对Notification类中的一些常量,字段,方法简单介绍一下:

常量:

DEFAULT_ALL    使用所有默认值,比如声音,震动,闪屏等等

DEFAULT_LIGHTS 使用默认闪光提示

DEFAULT_SOUNDS 使用默认提示声音

DEFAULT_VIBRATE 使用默认手机震动

【说明】:加入手机震动,一定要在manifest.xml中加入权限:

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

以上的效果常量可以叠加,即通过

notification.defaults =DEFAULT_SOUND|DEFAULT_VIBRATE; 

notification.defaults |= DEFAULT_SOUND (最好在真机上测试,震动效果模拟器上没有)

 设置flag位:

FLAG_AUTO_CANCEL  该通知能被状态栏的清除按钮给清除掉

FLAG_NO_CLEAR     该通知不能被状态栏的清除按钮给清除掉
FLAG_ONGOING_EVENT 通知放置在正在运行栏,不能被清除掉
FLAG_INSISTENT 是否一直进行,比如音乐一直播放,知道用户响应

          

常用字段:

contentIntent  设置PendingIntent对象,点击时发送该Intent

defaults 添加默认效果

flags 设置flag位,例如FLAG_NO_CLEAR等

icon 设置图标

sound 设置声音

tickerText 显示在状态栏中的文字

when 发送此通知的时间戳

                

NotificationManager常用方法介绍:

public void cancelAll() 移除所有通知(只是针对当前Context下的Notification)

public  void cancel(int id) 移除标记为id的通知 (只是针对当前Context下的所有Notification)

public  void notify(String tag ,int id, Notification notification) 将通知加入状态栏,标签为tag,标记为id

public  void notify(int id, Notification notification) 将通知加入状态栏,标记为id

 

以下是代码实现的一个小例子

 /**

  * 添加一个notification

  */

 private void addNotificaction() {

  NotificationManager manager = (NotificationManager) this

  .getSystemService(Context.NOTIFICATION_SERVICE);

  // 创建一个Notification

  Notification notification = new Notification();

  // 设置显示在手机最上边的状态栏的图标

  notification.icon = R.drawable.excel;

  // 当当前的notification被放到状态栏上的时候,提示内容

  notification.tickerText = "注意了,我被扔到状态栏了";

  

  /***

   * notification.contentIntent:一个PendingIntent对象,当用户点击了状态栏上的图标时,该Intent会被触发

   * notification.contentView:我们可以不在状态栏放图标而是放一个view

   * notification.deleteIntent 当当前notification被移除时执行的intent

   * notification.vibrate 当手机震动时,震动周期设置

   */

  // 添加声音提示

  notification.defaults=Notification.DEFAULT_SOUND;

  // audioStreamType的值必须AudioManager中的值,代表着响铃的模式

  notification.audioStreamType= android.media.AudioManager.ADJUST_LOWER;

  

  //下边的两个方式可以添加音乐

  //notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");

  //notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");

  Intent intent = new Intent(this, Notification2Activity.class);

  PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);

  // 点击状态栏的图标出现的提示信息设置

  notification.setLatestEventInfo(this, "内容提示:", "我就是一个测试文件", pendingIntent);

  manager.notify(1, notification);

  

 }

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