哪个地区网站建设好,建筑工地施工现场视频,wordpress 后台美化插件,企业信用信息公示系统山西1.Notification创建 首先#xff0c;介绍一下#xff0c;创建一个通知所需要用到的类和方法NotificationManager类 NotificationManager类是用来管理系统的所有通知的类#xff0c;该类的对象必须通过Context类的getSystemService()方法获取。完整代码#xff1a; Notifica…
1.Notification创建 首先介绍一下创建一个通知所需要用到的类和方法NotificationManager类 NotificationManager类是用来管理系统的所有通知的类该类的对象必须通过Context类的getSystemService()方法获取。完整代码 NotificationManager manager (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notify()作用是告知系统显示该通知有notify (int id, Notification notification)和notify (String tag,int id, Notification notification),id表示通知的id,tag表示通知的标志主要用于区分各个通知notification指的是通知对象 cancel(int id) 表示移除指定id的通知cancel(String tag,int id)移除指定Id和tag的通知cancelAll()移除所有通知。 Notification类 notification有一些常用的属性 icon 设置通知图标在API23后使用setSmallIcon(Icon)替代 number 通知所显示的事件数量例如收到邮件通知则指的是邮件未读数量这是用API11创建的通知所表现的作用。如果通知是用Notification.builder创建则number表示扩展通知视图为0或者负数的时候通知不显示。 tickerText 通知显示在通知栏的文本只在通知栏上显示一次。 when 系统当前时间 flags 取值有 FLAG_AUTO_CANCEL 该通知能被状态栏的清除按钮给清除掉 FLAG_NO_CLEAR 该通知不能被状态栏的清除按钮给清除掉 FLAG_ONGOING_EVENT 通知放置在正在运行 FLAG_INSISTENT 是否一直进行比如音乐一直播放知道用户响应 defaults 设置默认值 DEFAULT_ALL 使用所有默认值比如声音震动闪屏等等 DEFAULT_LIGHTS 使用默认闪光提示 DEFAULT_SOUND 使用默认提示声音 DEFAULT_VIBRATE 使用默认手机震动 contentView 拉下通知栏后通知条显示视图类型是RemoteView; contentIntent 点击通知条控件时响应的意图 一些常用的方法 构造方法 public Notification (int icon, CharSequence tickerText, long when),如果使用属性的方式设置这些值那也可以使用无参构造函数 在API11之后使用Notification.builder()创建 setLatestEventInfoContext context,CharSequence title, CharSequence content, PendingIntent intent; 本方法用于显示通知栏下拉后通知条的内容。 PendingIntent类 PendingIntent这个类用于处理即将发生的事情。 该对象的获取方式为 PendingIntent.getActivity(Context context,int requestCode,Intent intent,int flags);requsetCode和flags一般默认设置为0 下面用上面提到的知识写一个简单的通知基于API11之前 public void showBaseNotification() {NotificationManager manager (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);Notification notify new Notification();notify.icon R.drawable.ic_launcher;notify.tickerText 您有新短消息请注意查收;notify.when System.currentTimeMillis();PendingIntent pendingIntent PendingIntent.getActivity(this, 0,new Intent(this, MainActivity.class), 0);notify.setLatestEventInfo(this, Notification Title,This is the notification message, pendingIntent);notify.number 1;notify.flags | Notification.FLAG_AUTO_CANCEL; // 通过通知管理器来发起通知。如果id不同则每click在statu那里增加一个提示manager.notify(1, notify);} 基于API11之后 public void showNotification() {NotificationManager manager (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);NotificationCompat.Builder nb new NotificationCompat.Builder(getApplicationContext()).setContentIntent(PendingIntent.getActivity(MainActivity.this, 0,new Intent(this, MainActivity.class),PendingIntent.FLAG_UPDATE_CURRENT)).setAutoCancel(true).setContentTitle(test title).setContentText(message).setSmallIcon(R.drawable.ic_launcher).setLights(Color.RED, 600, 1000).setVibrate(new long[] { 0, 200, 300, 500 }).setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));manager.notify(1, nb.build());}