Android中Notification通知用法详解

作者:最冷一天丶 时间:2023-02-24 02:37:51 

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不允许通知,所以需要先打开允许通知,再运行项目,才能收到通知信息。

来源:http://blog.csdn.net/cwh1010714845/article/details/78254748

标签:Android,Notification,通知
0
投稿

猜你喜欢

  • Java的Spring框架中bean的继承与内部bean的注入

    2023-06-17 18:50:44
  • Java实现按行读取大文件

    2022-11-05 13:56:57
  • C#中缓存的基本使用方法

    2023-02-23 13:47:44
  • 解决Spring或SpringBoot开启事务以后无法返回自增主键的问题

    2023-09-12 18:51:45
  • JAVA操作MongoDB数据库实例教程

    2023-11-18 13:22:27
  • c#定时器使用示例详解

    2022-01-09 03:31:05
  • Spring Boot配置Thymeleaf(gradle)的简单使用

    2023-04-18 07:41:42
  • C#编程中使用设计模式中的原型模式的实例讲解

    2023-07-18 07:47:10
  • Android实现波浪球效果

    2021-09-02 16:07:53
  • Android Activity的启动过程源码解析

    2023-12-25 11:16:00
  • 详解Java策略模式

    2022-03-20 12:17:05
  • Java反射 PropertyDescriptor类案例详解

    2022-03-13 14:27:32
  • springcloud注册hostname或者ip的那些事

    2022-05-06 00:57:37
  • Java简单高效实现分页功能

    2022-05-24 13:56:02
  • c# 单例模式的实现方法

    2022-12-21 14:39:46
  • Android 获取屏幕尺寸实例代码

    2023-07-26 21:50:47
  • 深入理解Java设计模式之外观模式

    2023-05-02 09:48:00
  • springmvc分层领域模型概念详解

    2021-09-07 01:21:51
  • c#通过xpath读取xml示例

    2023-07-16 01:31:05
  • Android实现无标题栏全屏的方法

    2023-06-25 11:14:27
  • asp之家 软件编程 m.aspxhome.com