zoukankan      html  css  js  c++  java
  • 安开发卓之Notification(一)代码直接能用

      Notification是Android中很理想的一种显示提示信息的方法,它可以将应用程序的信息传递到我们的Android桌面状态栏,采用这种消息传递方式不会影响到用户对手机的正常使用。而且Notification不仅仅可以传递文字信息,还可以传递图片信息,甚至可以将我们的控件追加到上面,只要用户不对其进行清空,那么消息将一直保存在用户桌面的状态栏当中。

    Notification通常用来进行对用户的更新提醒等消息的传递。

      Notification需要使用到NotificationManager(消息通知管理类)对消息进行管理,其创建需要五个步骤:

    (1)通过getSystemService获取Notification对象

    (2)创建一个Notification,每一个notification对应一个notification对象。

    (3)创建一个PendingIntent对象

    (4)使用notification类的setLatestEventInfo方法设置Notification对象的详细信息

    (5)使用NotificationManager对象的notify方法显示消息

    在第二步时应当注意需要设置显示在屏幕上方状态栏的通知消息、通知消息前方的图像资源ID和放出通知的时间,一般为当前时间

    (3)创建PendingIntent对象:

    由于notification可以与应用程序脱离,也就是说你的应用程序已经关闭,消息仍然显示在状态栏之中,当应用程序再次启动后,又可以重新控制这些notification,如清除、替换等工作。因此需要PendingIntent对象,该对象由安卓系统维护,因此,应用程序关闭后,消息仍然不会被释放。

    (4)在使用notify方法时需要指定Notification对象的唯一ID,这个ID必须相对于一个Notificationmanager对象来说是唯一的,否则就会覆盖相同ID的

    Notification

    NotificationManager manager  = (NotificationManager)

        getSystemService(NOTIFICATION_SERVICE);

        String notice = "您有短消息了!";

        Notification notification = new Notification(R.drawable.ic_launcher, notice,System.currentTimeMillis());

        PendingIntent contentIntent = PendingIntent.getActivity

        (getApplicationContext(), 0, getIntent(), 0);

        notification.setLatestEventInfo

        (getApplicationContext(), "小搬运工又变帅了", "华中软件龙头企业", contentIntent);

        notification.defaults = Notification.DEFAULT_SOUND;

        notification.defaults = Notification.DEFAULT_LIGHTS;

        notification.defaults = Notification.DEFAULT_VIBRATE;

        notification.defaults = Notification.DEFAULT_ALL;

        manager.notify(R.drawable.ic_launcher,notification);

    1、如果要调取声音,需用使用到:android:name=“android.permission.VIBRATE”权限

      NotificationManager.cancel(resId)清除某个数据 NotificationManager.cancelAll()清除某个NotificationManager对象中的所有消息。
    在清除完消息后,需要做一些善后工作,需要通过notification,deleteIntent来完成,deleteIntent也需要一个pendingIntent类型的变量,用于在清除所用的notification对象时调用。这个动作可以与Activity、Service、Broadcast关联。

    如果想永久保存推送的通知,需要增加代码:

    •notification.flags = Notification.FLAG_NO_CLEAR;
  • 相关阅读:
    非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法
    AWS 免费套餐
    SQL Server全时区转换
    SQL Server 连接问题案例解析(1)
    SQL Saturday活动再起
    SqlServerProxy的一些资料
    数据是企业的无价財富——爱数备份存储柜server的初体验(图文)
    JEECG第二期深入使用培训(报名截止2014-06-21)
    Java提高篇(三三)-----Map总结
    经常使用哈希函数的比較及其C语言实现
  • 原文地址:https://www.cnblogs.com/sunzan/p/5242799.html
Copyright © 2011-2022 走看看