美文网首页
Android通知的使用

Android通知的使用

作者: 俄城WESTBOOKMVP | 来源:发表于2017-12-14 21:30 被阅读0次

    1.通知(Notification)是Android中比较有特色的功能
    2.既可以在活动中(Activity)中创建通知,也可以在广播接收器中创建,同时在服务中创建通知
    创建的步骤基本相同
    创建步骤:
    1.首先需要一个NotificationManager来管理通知,可以调用Context中的getSystemService()来获取到,这个方法需要接受一个参数来确定获取系统的哪一个服务,这里需要传入的是Context.NOTIFICATION_SERVICE,最后可以写成:
    NotificationManager manager= (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    2.需要一个Builder来构建Notification对象,使用支持库中的NotificationCompat来构建
    Notification notification=new NotificationCompat.Builder(this).build();
    这是最基本的通知对象,但是是一个空的,没有作用的对象,可以在Builder后面使用一些方法来丰富这个通知
    Notification notification=new NotificationCompat.Builder(this)
    .setContentText("这是通知的内容")//通知标题
    .setContentTitle("这是一个通知")//通知内容
    .setSmallIcon(R.mipmap.ic_launcher)
    //小图标 在状态栏上 官网解释:Set the small icon to use in the notification layouts.
    .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))//大图标,在通知栏上 官网解释:Set the large icon that is shown in the ticker and notification.
    .setWhen(System.currentTimeMillis()) //被创建的时间 会显示在通知上
    .build();
    最后需要调用 NotificationManager的notify来显示通知,不然不显示
    notify方法有两个参数:第一个是这个通知的id,第二个是通知的实例
    在本例中就是这样使用的(id随便)
    manager.notify(1,notification);
    但是现在的通知是不能点击的,需要使用PendingIntent(某个合适的时机去执行某个动作)

    pendingIntent类中有创建的静态方法:主要有getActivity(),getService(),getBroadcast(),参数基本相同,第一个是Context,第二个通常传入0,第三个传入一个需要执行操作的Intent,第四份也通常传入0,具体可查阅文档,然后再Notification的构造方法中使用setCotentIntent设置PendingIntent,再次运行apk发现可以点击,执行相应的Intent操作(比如这个Intent是用来跳转界面的),

    但是你会发现,点了通知栏后,投融智并没有消失,所以我们需要在代码中取消这个通知

    有以下两种方法,
    1,在创建Notification的时候,使用setAutoCancel(true) 来设置自动取消
    2.在完成Intent的操作后,在代码中重新获取NotificationManager,然后调用其cancel方法,传入刚才在启动Notification的时候传入的ID,就可以取消这条通知了

    在构建Notification时,可以使用setSound(File file)(设置声音) ,setVibrate(long[] data)
    (设置震动),setLights(int,int,int)(设置闪光灯),具体操作参考API.偷懒的写法是使用setDefaults(NotificationCompat.DEFAULT_ALL),设置默认的参数

    setPriority() 设置通知重要程度 参数有5个,参考API

    相关文章

      网友评论

          本文标题:Android通知的使用

          本文链接:https://www.haomeiwen.com/subject/izhoixtx.html