Android中的通知

来源:互联网 发布:网络女主播视频六间房 编辑:程序博客网 时间:2024/05/16 09:45

通知(Notifycation)是android中比较有特色的一功能,用于给用户提示信息,显示在手机最上方状态栏中,我们经常看到状态栏中出现的小图标,下啦后就可以看到通知的详细内容。

通知的用法

  //首先获取到NotifycationManager来对通知进行管理        NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);//点击通知的跳转Intent intent = new Intent(this,MainActivity.class);PendingIntent pendingIntent PendingIntent.getActivity(this,0,intent,0);        //通知栏的创建 support-v4库中提供了一个notificationCompat类,使用这个类的构造器来创建Notification对象,就可以        //保证我们所有程序在所有android系统版本上都能正常工作。        //构建一个通知        Notification notification = new NotificationCompat.Builder(this)                .setContentTitle("this is content title") //指定通知栏的标题                .setContentText("this is content text") //指定通知栏的正文内容                .setWhen(System.currentTimeMillis()) //指定通知被创建的时间                .setSmallIcon(R.drawable.img1) //设置通知的小图标                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.img2))//设置通知的大图标                .setSound(Uri.fromFile(new File("路径")))//设置通知发出的时候放一段音频                .setVibrate(new long[]{0, 1000, 1000, 1000}) //设置手机的震动 和静止的时长 震动1秒,静止1秒,在震动1秒                .setLights(Color.GREEN, 1000, 1000)//设置LED等闪烁 颜色 LED亮起1秒 暗去1秒 答到一闪一闪的效果                .setContentIntent(pendingIntent)//设置通知的跳转                .setAutoCancel(true) //表示点击这个通知的时候,通知会自动消失                .build();        //通过NotificationManager 的notify()方法显示通知        //nofify接收两个参数 第一个参数是id 要保证每个通知所指定的id都是不同的,第二个参数就是Notifycation对象了。        manager.notify(1, notification);

通知的点击 PendingIntent
PendingIntent从名字看起来就和Intnet类似,用法很简单通过 getActivity()、getBrodcast()、getService()。获取实例
这个几个方法所接收的参数:第一个Context,第二个一般用不到传入0即可,第三个是Intent对象,第四个是确定PendingIntent的行为,有:
FLAG_ONE_SHOT
FLAG_NO_CREATE
FLAG_CANCEL_CURRENT
FLAG_UPDATE_CURRENT
,通常情况下也是传入0 就可以了。

manager.cancel(1);

调用manager.cancel 取消通知,传入了一个1 ,这个1 就是通知的 id ,上面设置了通知的 id 就是1 ,传入相对应的通知id 即可。

设置了通知的震动需要加入相应权限 android.Permission.VIBRATE

上面的通知设置了很多属性,其实也可以直接使用通知的默认效果,它会根据当前的手机环境来决定播放上面铃声,以及如何震动。

 .setDefaults(NotificationCompat.DEFAULT_ALL)

在通知中显示一段很长得文字,通过setStyle(),下面是用法

 .setStyle(new NotificationCompat.BigTextStyle().bigText("显示所有内容文字")) //显示完整的通知文字

设置显示一张大图片

 .setStyle(new NotificationCompat.BigPictureStyle().bigLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.img2))) //显示一张图片

设置通知的重要程度,一共有5个常亮值可选:
PRIORITY_DEFAULT 表示默认的重要程度。
PRIORITY_MIN 表示最低的重要程度。
PRIORITY_HIGH 表示较高的重要程度,系统可能会将这类通知放大,或改变其显示的顺序,将其排在比较靠前的位置。
PRIORITY_MAX表示最高的重要程度,这类通知消息必须要让用户立刻看到,甚至需要用户做出响应操作。

.setPriority(NotificationCompat.PRIORITY_MAX) //设置通知的重要程度
0 0
原创粉丝点击