android 的消息通知还是很方便的,它会出现在窗体的顶部,并给出提示。常见的短信就是这样的通知方式。本文我们尝试实现一个这样的演示。

演示截图:

实现步骤:

1.获得NotificationManager 对象,这是一个通知管理器。我们在窗体里调用方法获得

NotificationManager manager =(NotificationManager) getSystemService( Context.NOTIFICATION_SERVICE);

getSystemService是获得系统服务的方法。android以服务的形式提供给用户操作接口。也就是说,我们要想操作 通知相关的操作接口,就先获得系统提供的 “通知管理器”

NotificationManager 对象就是一个服务管理器了。

2.构建一个Notification 对象,这个Notification 对象描述了:通知的标题和内容,通知要调用的窗体。

//构建一个通知对象,指定了 图标,标题,和时间Notification notification=newNotification(R.drawable.icon,"通知", System.currentTimeMillis());

//设定事件信息

notification.setLatestEventInfo(getApplicationContext(),

"通知标题","通知显示的内容",

pendingIntent);

notification.flags

|=

Notification.FLAG_AUTO_CANCEL;

//

自动终止

notification.defaults

|=

Notification.DEFAULT_SOUND;

//

默认声音

其中pendingIntent对象 是一个跳转intent,当提示后,点击在消息提示栏的 “通知”时,能打开一个窗体activity

PendingIntent pendingIntent =PendingIntent.getActivity(

ActNotifyDemo.this,0,newIntent(ActNotifyDemo.this,ActNotifyDemo.class), //指定一个跳转的intent0);

实际上是PendingIntent  包含(封装)了一个跳转的 intent对象。

3.调用NotificationManager.notify方法发起通知,发起后的通知就会在消息栏提示。

-----------------

代码如下:

public

class

ActNotifyDemo

extends

Activity {

Button _btn1;

/**

Called when the activity is first created.

*/

@Override

public

void

onCreate(Bundle savedInstanceState) {

super

.onCreate(savedInstanceState);

setContentView(R.layout.main);

_btn1

=

(Button)findViewById(R.id.button1);

_btn1.setOnClickListener(

new

OnClickListener(){

//

触发通知

public

void

onClick(View arg0) {

//

获得通知管理器

NotificationManager manager

=

(NotificationManager) getSystemService(

Context.NOTIFICATION_SERVICE);

//

构建一个通知对象

Notification notification

=

new

Notification(R.drawable.icon,

"

通知

"

, System.currentTimeMillis());

PendingIntent pendingIntent

=

PendingIntent.getActivity(

ActNotifyDemo.

this

,

0

,

new

Intent(ActNotifyDemo.

this

,ActNotifyDemo.

class

),

0

);

notification.setLatestEventInfo(getApplicationContext(),

"

通知标题

"

,

"

通知显示的内容

"

,

pendingIntent);

notification.flags

|=

Notification.FLAG_AUTO_CANCEL;

//

自动终止

notification.defaults

|=

Notification.DEFAULT_SOUND;

//

默认声音

manager.notify(

0

, notification);

//

发起通知

}

});

}

}

android11通知栏按钮,android开发(11) 消息栏通知(Notification)相关推荐

  1. 消息栏通知(Notification)介绍

    用过安卓的应该对通知栏消息都很熟悉了,下面是演示通知栏消息的一个Demo,首先来看一下界面,后面是代码,解释就都放在代码里了. java代码 package jason.notification;im ...

  2. android开发之消息推送

    本人想把Android所要运用到的所有的东西都好好的梳理一遍,那今个儿就和大伙说说消息推送:想必大家都玩过小米手机,细心的人会发现,小米手机时不时的就会发一些通知告诉你要系统升级了.某某App有新版本 ...

  3. BlackBerry 应用程序开发者指南 第二卷:高级--第11章 管理通知(Notification)

    作者:Confach 发表于 2006-04-29 20:28 pm 版权信息:可以任意转载, 转载时请务必以超链接形式标明文章原始出处 和作者信息. http://www.cnblogs.com/c ...

  4. android判断多个按钮,Android开发之判断有无虚拟按键(导航栏)的实例

    判断有无虚拟按键(导航栏) 现在很大一部分手机没有虚拟按键,一部分有.我们在做适配的时候可能会用到这方面的知识. 例如:屏幕填充整个屏幕的时候,没办法只能连导航栏一起填充了,但是这个不是我们想要的,我 ...

  5. android开发 app消息提醒功能,Android中利用App实现消息推送机制的代码

    1.消息推送机制 服务器器端需要变被动为主动,通知客户一些开发商认为重要的信息,无论应用程序是否正在运行或者关闭. 我想到了一句话:don't call me,i will call you! qq今 ...

  6. .Net程序猿玩转Android开发---(11)页面跳转

    在不论什么程序开发中,都会遇到页面之间跳转的情况,Android开发也不例外.这一节,我们来认识下Android项目中如何进行页面跳转.页面跳转分为有參数和无參数页面跳转,已经接受还有一个页面的返回值 ...

  7. Android开发11年,分享一下我眼中程序员的三六九等,太现实了

    高级 对于高级,就不仅限于功能和业务开发,还需要深入理解Android系统的运行原理,达到融会贯通,部分可够作为Android端架构师.这一阶段的人大多工作5-8年,具备开源库设计能力,同时对于And ...

  8. Android开发11年,分享一下我眼中程序员的三六九等,2021最新阿里Android面试流程

    高级 对于高级,就不仅限于功能和业务开发,还需要深入理解Android系统的运行原理,达到融会贯通,部分可够作为Android端架构师.这一阶段的人大多工作5-8年,具备开源库设计能力,同时对于And ...

  9. 8.Android学习之消息、通知、广播与闹钟(二)

    目录 8.消息.通知.广播与闹钟(二) 3.使用Notification类在状态栏上显示通知 4.BroadcastReceiver类的使用 4-1.BroadcastReceiver类简介 4-2. ...

最新文章

  1. php帝国系统调出图片内空,帝国CMS图集字段的大图,小图,说明的调用方法
  2. mysql登录密码特殊字符_mysql密码中有特殊字符在命令行下登录的操作
  3. 避免每个类中都初始化日志类
  4. 利用 Arthas 精准定位 Java 应用 CPU 负载过高问题
  5. Python字典列表字段重组形成新的字典
  6. IIS7 经典模式和集成模式的区别分析
  7. [js]JavaScript Number.toPrecision() 函数详解
  8. javascript中Array的操作
  9. 10067mysql_MYSQL数据库mysql Non-Transactional Database Only(只支持MyISAM)
  10. Openssl更新步骤
  11. pandas 空字符串与na区别_关于python:Pandas用空白/空字符串替换NaN
  12. linux线程能删除自身吗,Linux内核本身和进程的区别 内核线程、用户进程、用户...
  13. python语言中最基本的概念_Python 学习之路-基本的概念(三)
  14. order by case when then end
  15. 开发OA产品的部分网站
  16. 使用Gulp来加速你的开发
  17. linux操作命令之压缩命令
  18. What Every Programmer Should Know About Memory
  19. 块元素和行内元素的说明及转换
  20. coreldraw x7怎样设置禁网_cdr怎么优化? coreldraw x7优化设置的详细教程

热门文章

  1. Linux容器演变史
  2. 容器,你还只用Docker吗?(下)
  3. ASP.NET防止按F5键造成表单重复提交
  4. 源码|批量执行invokeAll()多选一invokeAny()
  5. 基于UDP的socket客户服务器编程
  6. 使用PL/SQL Developer远程连接到oracle11g
  7. PHP脚本批量清除nginx缓存的方法
  8. Revit二次开发之“遍历材质判断材质类别的新方法”BuiltInParameter.PHY_MATERIAL_PARAM_CLASS...
  9. 如何汉化DNN--中文语言包的使用
  10. golang 获取 进程 名称 id