Android中使用Notification实现状态栏的通知
发布时间 - 2026-01-11 00:30:55 点击率:次在使用手机时,当有未接来电或者新短消息时,手机会给出响应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏上。

Android也提供了用于处理这些信息的类,它们是Notification和NotificationManager。其中,Notification代表的是具有全局效果的通知,而NotificationManager则是用于发送Notification通知的系统服务。
使用Notification和NotificationManager类发送和显示通知也比较简单,大致可以分为以下四个步骤
(1)调用getSystemService() 方法获取系统的NotificationManager服务
(2)创建一个Notification对象,并为其设置各种属性
(3)为Notification对象设置事件信息
(4)通过NotificationManager类的notify()方法发送Notification通知
下面通过一个实例说明和使用Notification在状态栏上显示通知
国际惯例
运行结果:
布局文件就不发了 线性垂直布局 两个按钮
MainActivity.class
package com.example.notification;
import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.Notification.Builder;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener{
private NotificationManager manager;
private Button button1;
private Button button2;
private int Notification_ID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
button1=(Button) findViewById(R.id.button1);
button2=(Button) findViewById(R.id.button2);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button1:{
showNotification();
break;
}
case R.id.button2:{
manager.cancel(Notification_ID);
break;
}
}
}
private void showNotification() {
// TODO Auto-generated method stub
Notification.Builder builder=new Builder(this);
builder.setSmallIcon(R.drawable.ic_launcher);//设置图标
builder.setTicker("通知来啦");//手机状态栏的提示
builder.setContentTitle("我是通知标题");//设置标题
builder.setContentText("我是通知内容");//设置通知内容
builder.setWhen(System.currentTimeMillis());//设置通知时间
Intent intent=new Intent(this,MainActivity.class);
PendingIntent pendingIntent=PendingIntent.getActivity(this, 0, intent, 0);
builder.setContentIntent(pendingIntent);//点击后的意图
builder.setDefaults(Notification.DEFAULT_LIGHTS);//设置指示灯
builder.setDefaults(Notification.DEFAULT_SOUND);//设置提示声音
builder.setDefaults(Notification.DEFAULT_VIBRATE);//设置震动
Notification notification=builder.build();//4.1以上,以下要用getNotification()
manager.notify(Notification_ID, notification);
}
}
上面代码中设置的指示灯和震动,由于程序中要访问系统的指示灯和振动器 所以要在AndroidManifest.xml中声明使用权限
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.FLASHLIGHT" />
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# android
# notification
# 沉浸式状态栏实现
# android实现状态栏的通知
# Android使用Notification实现通知功能
# Android开发之Notification手机状态栏通知用法实例分析
# Android使用Notification在状态栏上显示通知
# Android中Notification通知用法详解
# Android 中Notification弹出通知实现代码
# android 通知Notification详解及实例代码
# Android开发之Notification通知用法详解
# Android中通知Notification的使用方法
# Android Notification通知使用详解
# 我是
# 提示信息
# 振动器
# 的是
# 栏上
# 机时
# 就不
# 则是
# 要在
# 要用
# 为其
# 发了
# 创建一个
# 中要
# 来啦
# 通常会
# 可以分为
# 短消息
# 状态栏
# 未接
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何保护应用免受CSRF攻击?(原理和示例)
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
如何获取PHP WAP自助建站系统源码?
个人网站制作流程图片大全,个人网站如何注销?
香港服务器选型指南:免备案配置与高效建站方案解析
js实现点击每个li节点,都弹出其文本值及修改
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
网站制作免费,什么网站能看正片电影?
Laravel如何处理表单验证?(Requests代码示例)
如何快速登录WAP自助建站平台?
,南京靠谱的征婚网站?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
JS中对数组元素进行增删改移的方法总结
大同网页,大同瑞慈医院官网?
如何在建站主机中优化服务器配置?
Laravel如何实现模型的全局作用域?(Global Scope示例)
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Android Socket接口实现即时通讯实例代码
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
WEB开发之注册页面验证码倒计时代码的实现
Laravel如何处理CORS跨域请求?(配置示例)
如何在局域网内绑定自建网站域名?
如何在Windows虚拟主机上快速搭建网站?
中国移动官方网站首页入口 中国移动官网网页登录
个人摄影网站制作流程,摄影爱好者都去什么网站?
Swift中循环语句中的转移语句 break 和 continue
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
利用 Google AI 进行 YouTube 视频 SEO 描述优化
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
Laravel中的withCount方法怎么高效统计关联模型数量
jquery插件bootstrapValidator表单验证详解
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
C#如何调用原生C++ COM对象详解
jQuery 常见小例汇总
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
Laravel如何实现API资源集合?(Resource Collection教程)
深圳网站制作平台,深圳市做网站好的公司有哪些?
微信小程序 scroll-view组件实现列表页实例代码
原生JS实现图片轮播切换效果

