Android中使用Notification实现状态栏的通知
程序员文章站
2023-10-09 11:50:15
在使用手机时,当有未接来电或者新短消息时,手机会给出响应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏上。
android也提供了用于处理这些信息的类,它们是not...
在使用手机时,当有未接来电或者新短消息时,手机会给出响应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏上。
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" />
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
上一篇: MathType编辑数学公式时怎么给字母上方加虚线?
下一篇: 配置好彪悍 神舟9系显卡新本本曝光
推荐阅读
-
Android中AlarmManager+Notification实现定时通知提醒功能
-
解析Android中实现滑动翻页之ViewFlipper的使用详解
-
Android中通过Notification&NotificationManager实现消息通知
-
HTML5中的Web Notification桌面右下角通知功能的实现
-
Android中实现异步任务机制的AsyncTask方式的使用讲解
-
Android中使用Notification实现状态栏的通知
-
Android中使用Notification在状态栏上显示通知
-
vue 使用element-ui中的Notification自定义按钮并实现关闭功能以及如何处理多个通知
-
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
-
Android状态栏提醒(Notification,NotificationManager)的使用