跟我学android-Notification

Notification 可以理解为通知的意思,会出现在通知栏,比如来了一条短信

使用 Notification 有以下3个步骤:

1. 创建 NotificationManager的对象

2.为Notification设置属性

3.使用 NotificationManager 提供的 notify 发送通知

实例:发出一个通知

 1     /**
 2      * 创建notify
 3      */
 4     private void createNotify() {
 5         // 创建NotificationManager 对象
 6         NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
 7         // 创建notifyCation对象
 8         Notification notify = new Notification();
 9         notify.icon = R.drawable.icon_reply;//设置图标
10         notify.when = System.currentTimeMillis();//发通知的时间,立即
11         notify.tickerText = "hi,我来了";//提示文字
12         notify.flags = Notification.FLAG_AUTO_CANCEL;//用户点击后 自动取消
13         Intent intent = new Intent(this, NextActivity.class);
14         PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent,
15                 PendingIntent.FLAG_UPDATE_CURRENT);
16         notify.setLatestEventInfo(this, "来消息啦", "一条通知", pIntent);
17         manager.notify(10, notify);//发出通知,10是 通知的id
18     }

这个方法 大家可以设置是 按钮的事件里 调用,运行程序后,点击按钮 就可以看到通知发送出来了。 布局文件 和相关的代码 这里就不在编写。

PendingIntent 为Intent的包装,这里是启动Intent的描述,PendingIntent.getActivity 返回的PendingIntent表示

此PendingIntent实例中的Intent是用于启动 Activity 的Intent。

PendingIntent.getActivity的参数依次为:Context,发送者的请求码(可以填0),用于系统发送的Intent,标志位。

其中 PendingIntent.FLAG_UPDATE_CURRENT  表示如果该描述的PendingIntent已存在,则改变已存在的PendingIntent的Extra数据为新的PendingIntent的Extra数据。

Intent 与 PendingIntent 的区别:

Intent :意图,即告诉系统我要干什么,然后系统根据这个Intent做对应的事。如startActivity相当于发送消息,而Intent是消息的内容。

PendingIntent :包装Intent,Intent 是我们直接使用 startActivity , startService 或 sendBroadcast 启动某项工作的意图。

而某些时候,我们并不能直接调用startActivity , startServide 或 sendBroadcast ,而是当程序或系统达到某一条件才发送Intent。

如这里的Notification,当用户点击Notification之后,由系统发出一条Activity 的 Intent 。因此如果我们不用某种方法来告诉系统的话,系统是不知道是使用 startActivity ,

startService 还是 sendBroadcast 来启动Intent 的(当然还有其他的“描述”),因此这里便需要PendingIntent。

时间: 2024-10-09 03:39:03

跟我学android-Notification的相关文章

从零开始学android<Notification通知.四十四.>

在android中有时会在主界面上收到某些应用的推送,有的可以包含图片,声音或者震动效果,当点击这些提示时,有时还可以进入到发送提示的的应用. 这些提示的推送就是通知,当然通知早根本上也是你一种服务. 首先想要使用通知就必须使用到Notification.Builder 和NotificationManager这两个类 使用Notification.Builder来取得Notification对象,使用NotificationManager来取得操作通知的对象 当然,我们也可以使用RemoteV

从零开始学android -- notification通知

看看效果 布局什么的太简单了我就不放在上面了给你们看核心的代码就行了 里面的   int notificationID = 1; //设置点击通知后的意图 Intent intent = new Intent(this,NotificationView.class); intent.putExtra("notificationID",notificationID); //塞入pendingIntent 参数解释:1.上下文也就是context 2.请求码(用于意图的请求码) 3.意图(

Android Notification NotificationManager使用示例

时间过得太快,想抽出点时间做点东西也是很难,总有各种各样的事.之前其实看书谢了关于Notification的demo,但是感觉还是不够.于是又打开了sdk文档和谷歌官方的Status Bar Notifications developer guide.其实之前一直是看书和网上的教程在学android,但是后来发现只有官方的文档才是原汁原味,虽然是英文,但是更全面,往往百思不得其解的问题看一眼官方文档就明白了.所以之后的打算是跟着官方的开发者指南走.又可以学习英文,又可以学技术. Notifica

一起学android之利用回调函数onCreateDialog实现加载对话框(23)

效果图: 有时候我们需要去做一个Activity启动时的数据加载对话框,关于对话框的各种实现可以通过一起学android之对话框 Dialog的创建(7)来完成,在这里另外介绍一个,利用onCreateDialog回调方法来实现,当然这个方法标记已经过 时了,但我们还是可以使用这个方法来实现我们想要的功能.具体请参看代码: public class MainActivity extends Activity { @SuppressWarnings("deprecation") @Ove

从零开始学android<android事件的处理方式.二十四.>

在android中一共有 多种事件,每种事件都有自己相对应的处理机制 如以下几种 1 单击事件 View.OnClickListener public abstract void onClick (View v) 单击组件时触发 2 单击事件 View.OnLongClickListener public abstract boolean onLongClick (View v) 长按组件时触发 3 键盘事件 View.OnKeyListener public abstract boolean

从零开始学android<RatingBar评分组件.二十三.>

如果现在用户要对某个应用程序打分往往会使用图所示的组件,通过选择的"五角星"的个数来决定最终的打分成绩 这样的功能在Android之中,可以使用RatingBar组件实现,使用此组件可以方便用户的输入,而且很直观,RatingBar类的定义结构如下: java.lang.Object ? android.view.View ? android.widget.ProgressBar ? android.widget.AbsSeekBar ? android.widget.RatingBa

从零开始学android<AutoCompleteTextView随笔提示文本框.十九.>

随笔提示功能可以很好的帮助用户进行方便的信息输入,而在Android之中也提供了与之类似的功能,而这个功能的实现就需要依靠android.widget.AutoCompleteTextView类完成,此类的继承结构如下: java.lang.Object ? android.view.View ? android.widget.TextView ? android.widget.EditText ? android.widget.AutoCompleteTextView No. 方法 类型 描述

从零开始学android<使用嵌套布局实现计算器界面.十七.>

所谓的嵌套布局就是在一个文件中嵌套多个布局文件 <span style="font-size:18px;"> <LinearLayout android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:layou

菜鸟学Android编程——简单计算器《一》

菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少,加减乘除就可以. 第一步:设计布局文件 界面如下图: 由于刚开始学Android,对布局文件也不是很了解,边查边找,最后凑合着写好了布局文件. 注意事项:此布局文件用到了GridLayout布局,是在Android4.0以上才出现的(不知道谷歌有没有开发相应的包来适配4.0以下版本). 有关Gri

android Notification和NotificationManager的使用

Notification和NotificationManager 1.Broadcast Receiver组件没有提供可视化的界面来显示广播信息.这里我们可以使用Notification和NotificationManager来实现可视化的信息显示.通过使用它们我们可以显示广播信息的内容,图标 以及震动等信息. 2.使用Notification和NotificationManager也比较简单,一般获得系统级的服务NotificationManager,然后实例化Notification,设置其