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实现图片轮播切换效果