Notification (通知)的 新版和旧版用法

简介: Notification (通知)的 新版和旧版用法 一、先来看旧版,Api 11 之前的用法:NotificationManager manager = (NotificationManager)        getSystemSer...
Notification (通知)的 新版和旧版用法
 
一、先来看旧版,Api 11 之前的用法:
NotificationManager manager = (NotificationManager)
        getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.mipmap.ic_launcher, "This is bitch.", System.currentTimeMillis());
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
notification.setLatestEventInfo(this, "This is ContentTitle","This is ContentText", pi);
manager.notify(1, notification);
manager.cancel(1); // 清除通知栏上的内容,这里的 1 是通知的Id
二、Api 11之后的用法:
        NotificationManager manager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(MainActivity.this);
PendingIntent contentIntent = PendingIntent.getActivities(MainActivity.this, 0,
                new Intent[]{new Intent(MainActivity.this, MainActivity.class)}, PendingIntent.FLAG_CANCEL_CURRENT);
builder.setContentIntent(contentIntent)
                .setSmallIcon(R.mipmap.ic_launcher)         //设置状态栏里面的图标(小图标)
//              .setLargeIcon(BitmapFactory.decodeResource(resource, R.mipmap.ic_launcher)) //下拉下拉列表里面的图标(大图标)
          .setTicker("This is bitch.")                //设置状态栏的显示的信息
                .setWhen(System.currentTimeMillis())        //设置时间发生时间
                .setAutoCancel(true)                        //设置可以清除
                .setContentTitle("This is ContentTitle")    //设置下拉列表里的标题
                .setContentText("This is ContentText");     //设置上下文内容
Notification notification = builder.getNotification();
manager.notify(1, notification);
Notification notification = builder.geNotification(); // 这里的方法其实已经被废弃了,它里面的源代码就是如下这样
/**
 * @deprecated Use {@link #build()} instead.
 */
@Deprecated
public Notification getNotification() {
return build();
}
官方给出的也是用bulid()方法取代它,但是直接用build()方法的话我的Api跟它有问题,直接调用废弃的getNotification()方法就可以了
另外Notification 还有很多其他常用属性,比如震动,响铃,控制手机前置的LED灯(这里需要在 AndroidManifest.xml中设置权限:
<uses-permission android:name="android.permission.VIBRATE" /> ):
    ● 震动:
long[] vibrates = new Long[]{0, 1000, 1000, 1000,...}; // 第零个值表示手机静止的时长,第一个值表示手机震动的时长,
                                                              // 第二个值表示手机静止的时长,依次类推,单位是毫秒
notification.vibrate = vibrates;
● 响铃:
      Uri soundUri = Uri.fomrFile(new File("/system/media/audio/ringtones/Basic_tone_ogg")); // 这个是手机自带的音频文件
notification.sound = soundUri;
    ● 控制 LED 灯
      // 以绿光一闪一闪的效果
      notification.ledARGB = Color.GREEN;
      notification.ledOnMS = 1000;
      notification.ledOffMS = 1000;
      notification.flags = Notification.FLAG_SHOW_LIGHTS;
      // 系统默认,它会自己去判断应该放什么铃声
      notification.defaults = Notification.DEFAULT_ALL;

相关文章
C#或Winform中的消息通知之自定义优雅漂亮的通知效果
Custom Notification自定义通知提示,一款非常优雅漂亮的自定义通知效果,主要介绍其实现思路、调整和优化...
854 0
C#或Winform中的消息通知之自定义优雅漂亮的通知效果
|
11月前
|
开发工具 Android开发
信息提醒之Notification,兼容全部SDK-更新中
信息提醒之Notification,兼容全部SDK-更新中
61 0
小储云邮件通知插件配置教程
设置通知配置,配置完成之后,有订单-工单-提现可以通知站长,提升了平台处理效率!
375 0
小储云邮件通知插件配置教程
小储云方糖消息通知插件配置教程
可以对用户的各种操作进行通知,官网:http://sc.ftqq.com,可对新订单,提现,工单,注册,用户升级,评价等相关操作做出通知
401 0
小储云方糖消息通知插件配置教程
|
缓存
Element 通知组件 Notification 支持同类型的提示信息只弹出一次!!!
Element 使用闭坑指南 • ElementUI 为 DatePicker 日期选择器组件添加前缀说明文字 • 生成以周统计的表头,跨月份的周算在后一个月 • Element Table 可以实现哪些常见的有用的功能 • Element UI Loading 加载组件动态变更 text 值(加载文案)
846 0
Element 通知组件 Notification 支持同类型的提示信息只弹出一次!!!
|
Web App开发
Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间
Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间
631 0
Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间