Android-自定义Notification

article/2025/9/11 20:46:38
Android-自定义Notification


2014年4月26日 
消息栏的消息,想必各位Android发烧友很清楚知道是什么,比如我们下载了一个应用,它可能会定时推送些消息到我们的手机中,比如微信消息送达的时候,可能会在通知栏显示。本博文介绍如何自定义一个Notification,很简单的东西,这里小巫只是把它整理出来,奉上demo。

先来看看效果图:
附上源码:http://download.csdn.net/detail/wwj_748/7259815
有兴趣的朋友可以加本人创建的群,里面有丰富的学习资源哦:299402133(移动开发狂热者群)


上面就是通知栏的效果了,我们主要改的地方有大头像,小头像,标题,内容等,直接看代码:
package com.wwj.custom.notification;import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/*** 自定义Notification* * @author wwj**/
public class MainActivity extends Activity implements OnClickListener {private Button showNotification;private Button showCustomNotifi;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);showNotification = (Button) findViewById(R.id.button1);showCustomNotifi = (Button) findViewById(R.id.button2);showNotification.setOnClickListener(this);showCustomNotifi.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.button1:send();break;case R.id.button2:custom();break;default:break;}}/*** 旧方法*/public void send() {// 1 得到通知管理器NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);// 2构建通知Notification notification = new Notification(android.R.drawable.stat_notify_chat, "这是提示信息",System.currentTimeMillis());// 3设置通知的点击事件Intent intent = new Intent(this, MainActivity.class);PendingIntent contentIntent = PendingIntent.getActivity(this, 100,intent, 0);notification.setLatestEventInfo(this, "通知的标题", "通知的内容", contentIntent);notification.flags = Notification.FLAG_AUTO_CANCEL;// 点击通知之后自动消失// 4发送通知nm.notify(100, notification);}/*** 自定义Notification 新方法* 新的方法,本人在手机测试会崩溃,如果不行的话,可以继续使用旧的构建方法,毕竟高版本会兼容低版本的*/public void custom() {// 1 得到通知管理器NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);// 2 设置通知的点击事件Intent intent = new Intent(this, MainActivity.class);PendingIntent contentIntent = PendingIntent.getActivity(this, 100,intent, 0);// 3构建通知Notification.Builder builder = new Notification.Builder(this)// API 11添加的方法.setContentIntent(contentIntent).setSmallIcon(R.drawable.icon)// 设置状态栏的小标题.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.jay))// 设置下拉列表里的图标.setWhen(System.currentTimeMillis()).setTicker("凤姐来啦")// 设置状态栏的显示的信息.setAutoCancel(true)// 设置可以清除.setContentTitle("通知通知") // 设置下拉列表里的标题.setContentText("凤姐即将光临天拓游戏,各部门做好防雷准备"); // 设置可以清除Notification notification = builder.build();// API 16添加创建notification的方法// 通知manager.notify(110, notification);// // 2构建通知// Notification notification2 = new Notification(R.drawable.jay, "天拓游戏",// System.currentTimeMillis());//// // 3设置通知的点击事件// Intent intent2 = new Intent(this, MainActivity.class);// PendingIntent contentIntent2 = PendingIntent.getActivity(this, 100,// intent2, 0);// notification2.setLatestEventInfo(this, "天拓游戏", "天拓游戏有个技术部",// contentIntent2);//// notification2.flags = Notification.FLAG_AUTO_CANCEL;// 点击通知之后自动消失//// // 4发送通知// manager.notify(100, notification2);}
}


稍微提一下的是,我们都知道Android SDK版本的变迁,API也会跟着遍,每个版本的API都可能会增删改一些接口,我们在使用Android为我们开发者提供的一些方法的时候,需要注意版本之间的区别,假如我们使用高版本的API的话,可能会引起一些错误,低版本的话可能在开发中又不适用了,反正程序不崩溃是最起码的保证,至于程序的功能能实现用什么API都是可以的。








http://chatgpt.dhexx.cn/article/NSNXcBQp.shtml

相关文章

notification新旧用法 notification builder

api 11 版本之前: //显示通知信息protected void showNotification() {NotificationManager notificationManager (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // Notification notification new Notification(this,R.drawable.ic_launche…

Android Notification 详解

下图是我对 Notification 做的思维导图,也是本文的主要逻辑。 本文主要讲述 Notification 的基本操作部分,进阶部分的内容还在学习ing~ Notification 概述 Notification,是一种具有全局效果的通知,可以在系统的通知栏…

Android Notification

日记月累第四天。发现做事情坚持真的很重要,其实我今天都有点凌乱了,不想记录了,在坚持一下吧,毕竟才第四天。今天对昨天同事所说的Notification进行了一下温故今天主要是拿来主意,明天代码实践。今天公司又有同事分享…

HTML5 桌面通知:Notification API

Notification API 是 HTML5 新增的桌面通知 API,用于向用户显示通知信息。该通知是脱离浏览器的,即使用户没有停留在当前标签页,甚至最小化了浏览器,该通知信息也一样会置顶显示出来。 用户权限 想要向用户显示通知消息&#xf…

Android自定义Notification

Notification是一种让你的应用程序在不使用Activity的情况下警示用户,Notification是看不见的程序组件警示用户有需要注意的事件发生的最好途径。 作为UI部分,Notification对移动设备来说是最适合不过的了。用户可能随时都带着手机在身边。一般来说&…

Notification-通知

Notification-通知 通知是一种消息,这种消息呈现在应用UI之外,通过通知可以对用户进行提醒、可以和其他用户收发信息等。通过点击通知,可以唤起app页面或者直接在通知上执行一些操作。下面介绍通知的一些常用用法。 展示一条普通通知 先来…

全面解析Notification

Notification在Android中使用的频率可以说是非常高的,本篇博客,我将围绕着Notification的各方面进行解析,使大家对Notification有更好的认识。 Notification的使用步骤 1.获取NotificationManager NotificationManager mNotificationManager = (NotificationManager) get…

Android Notification使用

Android 通知栏适配 前言正文一、Android中通知的变化1. Android 4.1,API 162. Android 4.4,API 19 和 203. Android 5.0,API 214. Android 7.0,API 245. Android 8.0,API 266. Android 12.0,API 31 二、创…

Android之Notification的多种用法

我们在用手机的时候,如果来了短信,而我们没有点击查看的话,是不是在手机的最上边的状态栏里有一个短信的小图标提示啊?你是不是也想实现这种功能呢?今天的Notification就是解决这个问题的。 我们也知道Android系统也是…

Android--通知之Notification

前言 之前一篇博客讲了Android下使用Toast的方式提示消息。这篇博客讲解一下在Android中使用Notification提示消息给用户,Notification是一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification。在本篇博客中,将介绍…

Android通知Notification使用全解析,看这篇就够了

1、效果 2、简介 通知是 Android 在您的应用 UI 之外显示的消息,用于向用户提供提醒、来自其他人的通信或来自您的应用的其他及时信息。用户可以点击通知打开您的应用或直接从通知中执行操作。 2.1、展示 通知以不同的位置和格式向用户显示,例如状态栏…

php cacti,cacti搭建遇到的那些事

最近闲的无聊,亲手操刀了一把整个生产环境cacti的搭建,时间消耗了3-4天,这里主要感谢网友老李、不想扮演逃兵、jiam的指导和帮助。下面就说说我搭建这个遇到的一些棘手的问题吧! 搭建完成的界面如下图: 系统环境&#…

cacti mysql_cacti监控mysql

1.MySQL stats模板 功能:用来监控MySQL状态,其中包括索引使用情况、查询、排序、锁定情况等。 1).将mysql_stats.php 和 dumpMemcachedStats.php脚本放到cacti脚本目录下(/usr/local/apache/htdocs/cacti/.s/),导入模板时注意选择cacti_host_…

cacti mysql 详解,cacti详解和基本配置

cacti简介: cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool存储和更新数据,当用户需要查看数据的时候就用rrdtool生成图表呈现给用户。snmp抓到的数据不是存储在mysql中,而是存在rrd…

cacti安装

1、搭建LNMP环境 http://blog.csdn.net/yang_xu_1987/article/details/77292340 #下面是按照源码搭建LNMP的方式,主要是路径不一样 2、安装rrd-tool、snmp相关包 yum install -y rrdtool net-snmp net-snmp-utils 3、安装cacti 下载cacti:http://down…

java cacti_开源的企业级监控系统 Cacti 简介

Cacti是一款网络流量监测图形分析工具,把LAMP的功能都结合起来,用于网络流量监控,操作起来非常方便!让我们认识下Cacti简介及工作流程。 一、Cacti简介 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获…

安装cacti

1、搭建LAMP环境 yum -y install httpd mariadb mariadb-server mariadb-devel php php-mysql php-gd php-pear gd gd-devel systemctl start httpd && systemctl enable httpd systemctl start mariadb && systemctl enable mariadb 2、安装绘图工具和SNMP组…

Cacti安装及模板导入

文章目录 前言简介安装安装http以及php及php相关扩展安装数据库mariadb,配置yum源:安装snmp及其相关扩展(注意版本号得一致)安装绘图工具RRDTool绘图工具安装spine安装中文字体安装cacti初始化cacti 应用管理设备以及创建图形加入…

搭建cacti

1、搭建lamp环境 yum -y install httpd mariadb mariadb-server mariadb-devel php php-mysql php-gd php-pear gd gd-devel systemctl start httpd && systemctl enable httpd systemctl start mariadb && systemctl enable mariadb 2、安装绘图工具和snmp组件…

cacti php zombie,cacti 监控搭建

一、准备前工作 1.系统:centos 7.6 关闭seliunx及防火墙 关闭防火墙 systemctl disable firewalld.service #禁止firewall开机启动 关闭SELINUX setenforce 0 或 vim /etc/selinux/config 修改 SELINUXenforcing 改成 SELINUXdisabled 3.更新yum源 这个不再叙述 4.安…