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;

相关文章
|
安全
在钉钉中,Stream 模式审批回调怎么弄?
在钉钉中,Stream 模式审批回调怎么弄?
388 1
|
Go Android开发
autojs发送通知修改图标
牙叔教程 简单易懂
698 0
|
7月前
|
开发者
配置事件订阅以获取钉钉推送的事件
配置事件订阅以获取钉钉推送的事件
182 4
C#或Winform中的消息通知之自定义优雅漂亮的通知效果
Custom Notification自定义通知提示,一款非常优雅漂亮的自定义通知效果,主要介绍其实现思路、调整和优化...
1280 0
C#或Winform中的消息通知之自定义优雅漂亮的通知效果
|
开发工具 Android开发
信息提醒之Notification,兼容全部SDK-更新中
信息提醒之Notification,兼容全部SDK-更新中
90 0
小储云方糖消息通知插件配置教程
可以对用户的各种操作进行通知,官网:http://sc.ftqq.com,可对新订单,提现,工单,注册,用户升级,评价等相关操作做出通知
492 0
小储云方糖消息通知插件配置教程
小储云邮件通知插件配置教程
设置通知配置,配置完成之后,有订单-工单-提现可以通知站长,提升了平台处理效率!
457 0
小储云邮件通知插件配置教程
|
前端开发
如何自定义Electron的通知事件,自定义窗口大小
当外层添加拖拽后,里层添加点击事件时,点击事件的元素要添加这个样式方能添加点击事件
自定义消息通知
自定义消息通知
103 0
WordPress 5.0后版本退回旧版编辑器方法
WordPress更新到5.0版本之后,新加入了Gutenberg编辑器(或称block 编辑器),取代了之前一直使用的经典编辑器。尝试了一下啊 发现真的是非常的不好用。这个新编辑器将所有的元素(段落、图片、代码、表格等)化成区块表示,区块之间顺序可以调换,然而这些区块做的实在是太不人性化了,完全不符合国人使用习惯。
172 0