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;

相关文章
|
6月前
|
Linux API 开发者
调用GrayLog的RestAPI接口实现定时关闭和定时开启告警
调用GrayLog的RestAPI接口实现定时关闭和定时开启告警
120 0
|
6月前
|
前端开发 开发工具 iOS开发
mPaaS常见问题之真机预览与调试扫码调式 release包开启日志如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
140 0
|
6月前
|
移动开发 运维 监控
应用研发平台EMAS常见问题之前台控制在收到通知后通知栏不显示通知如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
C#或Winform中的消息通知之自定义优雅漂亮的通知效果
Custom Notification自定义通知提示,一款非常优雅漂亮的自定义通知效果,主要介绍其实现思路、调整和优化...
1209 0
C#或Winform中的消息通知之自定义优雅漂亮的通知效果
|
开发工具 Android开发
信息提醒之Notification,兼容全部SDK-更新中
信息提醒之Notification,兼容全部SDK-更新中
81 0
小储云方糖消息通知插件配置教程
可以对用户的各种操作进行通知,官网:http://sc.ftqq.com,可对新订单,提现,工单,注册,用户升级,评价等相关操作做出通知
484 0
小储云方糖消息通知插件配置教程
小储云邮件通知插件配置教程
设置通知配置,配置完成之后,有订单-工单-提现可以通知站长,提升了平台处理效率!
445 0
小储云邮件通知插件配置教程
|
前端开发 JavaScript NoSQL
5款 React 实时消息提示通知(Message/Notification)组件推荐与测评
React 消息提示通知组件(Message / Notification)是我们日常开发中经常使用的组件,它可用作与用户交互的反馈提示,信息提交成功、错误、操作警告等场景使用。原生JavaScript 提供了alert、prompt、confirm 等方法,这三个方法的不支持定制化,使用场景严重受限,特别是 alert 在浏览器外弹窗,体验非常糟糕。因此要想给用户提供良好的使用体验,我们需要封装一个定制化较好的 React 消息提示组件,这种组件看似简单,但也存在非常多深坑要小心,例如遮罩层、消失时间、点击事件的冒泡处理等。我自己在开发和研究 Message / Notification 功
|
监控 Cloud Native 调度
SLS新版告警入门-触发条件设置
告警监控规则根据评估表达式的执行结果来判断是否满足触发告警条件,以及评估动态告警严重度。您查询语句的执行结果将作为输入,集合操作结果的字段作为变量,当评估表达式条件为真且符合连续触发阈值配置时,则触发告警。
678 0