Notification应用

来源:互联网 发布:mac的office软件 编辑:程序博客网 时间:2024/05/21 06:52

Notification

基本用法

  • 创建一个 NotificationManager 对通知进行管理,可以通过 getSystemService() 方法来获得我们所需要的服务,我们这里传入 NOTIFICATION_SERVICE 来获得通知服务。
  • 通过 NotificationCompat.Builder 创建一个通知。
  • 分别设置通知的 图标标题内容 等工作
  • 最后通过 build() 方法创建一个包括各种自定义内容的Notification对象,然后通过 NotificationManager 调用 notify 方法,将通知呈现出来。

代码示例

   @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.btnSend:                NotificationManager manager = (NotificationManager)                        getSystemService(NOTIFICATION_SERVICE);                //点击通知跳转到另外一个界面                Intent intent = new Intent(this, NotificationActivity.class);                PendingIntent pendingIntent = PendingIntent.getActivities(this,                        NOTICE_REQUEST_CODE,                        new Intent[]{intent}, 0);                //创建一个notification                NotificationCompat.Builder builder = new NotificationCompat.Builder(this);                //创建一个图标                builder.setSmallIcon(R.drawable.ic_launcher);                //自动消失                builder.setAutoCancel(true);                builder.setContentIntent(pendingIntent);                builder.setContentTitle("通知");                builder.setContentText("今天吃什么");                //第三行                builder.setSubText("请点击");                //通知发出声音                builder.setDefaults(Notification.DEFAULT_ALL);                manager.notify(1, builder.build());                break;            default:                break;        }    }

说明

在上述的基本用法中点击通知,是不会有任何反应的,如果要实现点击通知跳转到一个界面的方法,需要用到 pendingIntent

pendingIntent

通过 pendingIntent 可以启动 ActivityServiceBroadcastReceiver,分别通过 PendingIntent.getActivities()PendingIntent.getService()PendingIntent.getBroadcast() 方法来实现。

0 0