zoukankan      html  css  js  c++  java
  • Notification和NotificationManager的基本使用方法

    1. NotificationManager和Notification用来设置通知。

    通知的设置等操作相对比较简单,基本的使用方式就是用新建一个Notification对象,然后设置好通知的各项参数,然后使用系统后台运行的NotificationManager服务将通知发出来。

    基本步骤如下:

    1)得到NotificationManager:

    String ns = Context.NOTIFICATION_SERVICE;

    NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

    2)创建一个新的Notification对象:

    Notification notification = new Notification();

    notification.icon = R.drawable.notification_icon;

    也可以使用稍微复杂一些的方式创建Notification:

    int icon = R.drawable.notification_icon; //通知图标

    CharSequence tickerText = "Hello";  //状态栏(Status Bar)显示的通知文本提示

    long when = System.currentTimeMillis(); //通知产生的时间,会在通知信息里显示

    Notification notification = new Notification(icon, tickerText, when);

    3)填充Notification的各个属性:

    Context context = getApplicationContext();

    CharSequence contentTitle = "My notification";

    CharSequence contentText = "Hello World!";

    Intent notificationIntent = new Intent(this, MyClass.class);

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

    Notification提供了丰富的手机提示方式:

    a)在状态栏(Status Bar)显示的通知文本提示,如:

    notification.tickerText = "hello";

    b)发出提示音,如:

    notification.defaults |= Notification.DEFAULT_SOUND;

    notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");

    notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");

    c)手机振动,如:

    notification.defaults |= Notification.DEFAULT_VIBRATE;

    long[] vibrate = {0,100,200,300};

    notification.vibrate = vibrate;

    d)LED灯闪烁,如:

    notification.defaults |= Notification.DEFAULT_LIGHTS;

    notification.ledARGB = 0xff00ff00;

    notification.ledOnMS = 300;

    notification.ledOffMS = 1000;

    notification.flags |= Notification.FLAG_SHOW_LIGHTS;

    4)发送通知:

    private static final int ID_NOTIFICATION = 1;

    mNotificationManager.notify(ID_NOTIFICATION, notification);

    2. 通知的更新

       如果需要更新一个通知,只需要在设置好notification之后,再调用setLatestEventInfo,然后重新发送一次通知即可。

    3. 自定义通知视图

       这部分可以参考官方文档,讲的很详细了。

    AndroidSDK: docs/guide/topics/ui/notifiers/notifications.html

  • 相关阅读:
    (二)扩展原理:【2】BeanDefinitionRegistryPostProcessor
    寒假学习日报3
    寒假学习日报6
    寒假学习日报8
    寒假学习日报9
    寒假学习日报7
    寒假学习日报1
    寒假学习日报4
    构建之法阅读笔记1
    寒假学习日报2
  • 原文地址:https://www.cnblogs.com/AlexCheng/p/2120001.html
Copyright © 2011-2022 走看看