zoukankan      html  css  js  c++  java
  • Android Notification学习

      Notication就是通知,用在有电话,短信时,在手机提示栏中出现一个小图标,提示用户去处理这个通知。

      Notication有两种视图模式,即普通模式和大图模式,这里就只讲普通模式。

      

      正如上图所示,在通知栏的Notification中,1代表的是标题,2的是大的icon(貌似这里要是位图),3的是文本,4的是一些额外的信息,5的是小的icon,6的是通知的时间。

      

      因为官方文档已经弃用了Notification类中的一些方法,提倡用其内部类Builder来获取Notification,因此这里就使用Builder。

      1.获取NotificationManager,这里官方文档推荐使用getSystemService()来获取,由操作系统来管理

        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

      2.创建一个Builder

        Notification.Builder builder = new Notification.Builder(UsingNotification.this);

      3.为通知设置属性,如设置标题,内容,点击事件等等

        builder.setTicker("Test").setContentTitle("android学习").setContentText("学习Notification");

        设置点击事件,点击通知时跳转到Other这个activity

        Intent intent = new Intent(UsingNotification.this, Other.class);

        PendingIntent pendingIntent = PendingIntent.getActivity(UsingNotification.this, 0, intent, 0);

        builder..setContentIntent(pendingIntent);

        还有其它属性参考http://wear.techbrood.com/reference/android/app/Notification.Builder.html

      4.生成Notification

        Notification notification = builder.build();

        这里需要注意的是build()这个方法需要API 16及以上

      

      5.让管理器发布这个通知

        // notify()的第一个参数是该notification的唯一ID,与该Notification绑定在一起
        manager.notify(1, notification);

      效果如图

      

      

      如有不正确还望指出,多谢~

      

      参考文章Android技巧小结之新旧版本Notification

        

  • 相关阅读:
    uva10152-ShellSort
    WCF问题集锦:ReadResponse failed: The server did not return a complete response for this request.
    Android动态改变布局
    Android应用性能优化
    玩转CPU之直线
    [DB][MySql]关于取得自增字段的值、及@@IDENTITY 与并发性问题
    js对象实例化的常见三种方式
    TCP协议
    [UnityUI]循环滑动列表
    Spring MVC原理及实例基础扫盲篇
  • 原文地址:https://www.cnblogs.com/IamTing/p/4252121.html
Copyright © 2011-2022 走看看