Android中Notification通知用法详解
作者:最冷一天丶 发布时间:2023-02-24 02:37:51
标签:Android,Notification,通知
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


猜你喜欢
- 今天分享的是用系统自带的相机实现一键拍照功能。public class MainActivity extends AppCompatActi
- 一、settings.xml文件会在两个目录下存在:1、Maven安装目录(全局):%MAVEN_HOME%\conf\settings.x
- 1.生成自己的注解(为了确定在哪些位置使用)/** * 关闭patch delete的model处理,否则会报错 */@Target({El
- 先来看看几种比较单一的方式:IMEI方式:TelephonyManager.getDeviceId():问题范围:只能支持拥有通话功能的设备
- Android环境布置完毕,直接就是一个Helloworld程序,详情请看《利用adt-bundle轻松搭建Android开发环境与Hell
- 一、简述记--log4net日志开源库的简单使用:控制日志文件大小,日志文件个数,滚动式覆盖,自由控制日志打印等级例子打包:http://x
- 底座的状态跟充电状态类似,很多底座提供充电功能(座充).底座状态同样使用sticky Intent广播。可以查询设备是否插入底座,哪种底座。
- 本文实例讲述了Android编程获取网络连接方式及判断手机卡所属运营商的方法。分享给大家供大家参考,具体如下:问题:项目中写的网络模块,感觉
- 前2天有读者问到是否有带分页功能的表格控件,今天分页功能的表格控件详细解析。PaginatedDataTablePaginatedDataT
- 最近,Oracle 宣布 Java 14(或 Oracle JDK 14)公开可用。如果你想进行最新的实验或者开发的话,那么你可以试试在 L
- 一个应用场景,浏览器上传一个文件,此文件后台调用文件转换,需要耗费相当长的时间,这样,如果是一个线程同步式的做下去,那么用户在浏览器上感觉就
- package com.infomorrow.parser_report;import org.junit.Test;public clas
- 1 请求映射 在SpringBoot中使用@XxxMapping注解完成前端请求与后端方法的一个映射。以前的时候,通常使用url映射命名的
- http无状态协议的解决:HTTP 是一种无状态协议。 无状态协议不要求服务器在多次请求期间保留有关每个用户的信息或状态。但是某些 Web
- 背景在我做WinForm开发的过程中,经常会遇到耗时操作或阻塞操作。他们会引发软件的卡顿甚至假死,严重影响软件的使用。因此,这类耗时或阻塞的
- 起因最近在写CRUD的时候,发现有个分页的VO写的健壮性比较差,一时手痒改了一下,没想到改了之后好几个功能都出现了问题。原VO关键代码如下:
- 在《Spring Boot Hello World》中介绍了一个简单的spring boot例子,体验了spring boot中的诸多特性,
- Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我们可以对手机的横竖屏切换进
- 摘 要1. 生成多个防伪码,防伪码的长度和个数由用户指定。2. 防伪码由"0123456789ABCDEFGHJKLMNPQRST
- using System;using System.Collections.Generic;using System.Linq;using