Android中Notification通知用法详解

Notification的作用 通知(Notification)是Android系统中比较有特色的一个功能。当某个应用程序希望向用户发出一些提示信息,而该应用程

Notification的作用

通知(Notification)是Android系统中比较有特色的一个功能。当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以用通知来实现

用法

首先我们需要一个NotificationManager来对通知进行管理,可以调用getSystemService()方法得到,方法接收一个字符串参数用于确定获取系统的哪个服务,这里我们传入NOTIFICATION_SERVICE。

NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);

接下来用一个Builder构造器来创建Notification对象

Intent intent=new Intent(this,NotificationActivity.class);
        //用intent表现出我们要启动Notification的意图
        PendingIntent pi=PendingIntent.getActivity(this,0,intent,0);
        //将Intent对象传入PendingIntent对象的getActivity方法中
        NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        Notification notification=new NotificationCompat.Builder(this)
            .setContentTitle("This is content title")
            //设置通知栏中的标题
            .setContentText("hello world!")
            //设置通知栏中的内容
            .setWhen(System.currentTimeMillis())
            //设置通知出现的时间,此时为事件响应后立马出现通知
            .setSmallIcon(R.mipmap.ic_launcher)
            //设置通知出现在手机顶部的小图标
            .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
            //设置通知栏中的大图标
            .setContentIntent(pi)
            //将PendingIntent对象传入该方法中,表明点击通知后进入到NotificationActivity.class页面
            .setAutoCancel(true)
            //点击通知后,通知自动消失
            .setDefaults(NotificationCompat.DEFAULT_ALL)
            //默认选项,根据手机当前的环境来决定通知发出时播放的铃声,震动,以及闪光灯
            .setPriority(NotificationCompat.PRIORITY_MAX)
            //设置通知的权重
            .build();
        manager.notify(1,notification);
        //用于显示通知,第一个参数为id,每个通知的id都必须不同。第二个参数为具体的通知对象

注意事项

通知属性定义以后,要通过NotificationManager对象的notify()方法来显示通知。
项目运行后,如果通知一直无法发出,那么请看看手机里面的“通知与状态栏”里面的“通知管理”。部分手机默认对APP不允许通知,所以需要先打开允许通知,再运行项目,才能收到通知信息。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好代码网。