Android——状态栏通知栏Notification
1、AndroidManifest.xml注意要同时注册Notification02Activity
<!-- 状态通知栏 Notification -->
<activity
android:name="com.example.notification.Notification01Activity"
android:label="状态通知" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.notification.Notification02Activity"
android:label="Notification01Activity" >
</activity>
2、Notification01Activity.java
public class Notification01Activity extends Activity {
Button button01, button02, button03, button04;
// 声明通知(消息)管理器
NotificationManager mNotificationManager;
Intent mIntent;
PendingIntent mPendingIntent;
// 声明Notification对象
Notification mNotification;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notification01);
// 获得四个按钮对象
button01 = (Button) findViewById(R.id.btn1_notifi);
button02 = (Button) findViewById(R.id.btn2_notifi);
button03 = (Button) findViewById(R.id.btn3_notifi);
button04 = (Button) findViewById(R.id.btn4_notifi);
// 初始化NotificationManager对象*************
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// 点击通知时转移内容*********查看通知的具体内容
mIntent = new Intent(Notification01Activity.this,
Notification02Activity.class);
// 主要是设置点击通知时显示内容的类***********
mPendingIntent = PendingIntent.getActivity(Notification01Activity.this,
0, mIntent, 0);
// 构造Notification对象
mNotification = new Notification();
button01.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
/* 状态栏上的通知图标及内容 */
// 设置通知在状态栏显示的图标
mNotification.icon = R.drawable.button1;
// 当我们点击通知时显示的内容
mNotification.tickerText = "Button01通知内容……";
// 通知时发出默认声音
mNotification.defaults = Notification.DEFAULT_SOUND;
/* ==============展开状态栏的快讯=========== */
// 设置通知显示的参数
mNotification.setLatestEventInfo(Notification01Activity.this,
"Button01", "Button01通知", mPendingIntent);
// 可理解为执行这个通知
mNotificationManager.notify(0, mNotification);
}
});
button02.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
mNotification.icon = R.drawable.button2;
mNotification.tickerText = "Button02通知内容……";
mNotification.defaults = Notification.DEFAULT_SOUND;
mNotification.setLatestEventInfo(Notification01Activity.this,
"Button02", "Button02通知", mPendingIntent);
mNotificationManager.notify(0, mNotification);
}
});
button03.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
mNotification.icon = R.drawable.button3;
mNotification.defaults = Notification.DEFAULT_SOUND;
mNotification.tickerText = "Button03通知内容……";
mNotification.setLatestEventInfo(Notification01Activity.this,
"Button03", "Button03通知", mPendingIntent);
mNotificationManager.notify(0, mNotification);
}
});
button04.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
mNotification.icon = R.drawable.button31;
mNotification.defaults = Notification.DEFAULT_SOUND;
mNotification.tickerText = "Button04通知内容……";
mNotification.setLatestEventInfo(Notification01Activity.this,
"Button04", "Button04通知", mPendingIntent);
mNotificationManager.notify(0, mNotification);
}
});
}
}
3、Notification02Activity.java
public class Notification02Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//这里直接限制一个TextView
setContentView(R.layout.activity_notification02);
}
}
4、activity_notification02.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="状态栏提示演示协助实现界面!" />
</LinearLayout>
5、activity_notification01.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn1_notifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button01" />
<Button
android:id="@+id/btn2_notifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button02" />
<Button
android:id="@+id/btn3_notifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button03" />
<Button
android:id="@+id/btn4_notifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button04" />
</LinearLayout>
Android——状态栏通知栏Notification的更多相关文章
- Android 状态栏通知Notification、NotificationManager简介
Notification(通知)一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个通知: 在Android系统中, ...
- Android 状态栏通知 Notification
private NotificationManager manager; private Notification.Builder builder; @Override protected void ...
- android显示通知栏Notification以及自定义Notification的View
遇到的最大的问题是监听不到用户清除通知栏的广播.所以是不能监听到的. 自定义通知栏的View,然后service运行时更改notification的信息. /** * Show a notificat ...
- android 创建通知栏Notification
///// 第一步:获取NotificationManager NotificationManager nm = (NotificationManager) getSystemService(Cont ...
- Android 状态栏通知Notification、NotificationManager详解
http://www.cnblogs.com/onlyinweb/archive/2012/09/03/2668381.html
- Android --通知栏Notification
参考博客:Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它) //创建一个通知栏的Builder构造类 (Create a Notification Bui ...
- Android种使用Notification实现通知管理以及自定义通知栏(Notification示例四)
示例一:实现通知栏管理 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的.例如我们手机的短信系统,当不断有新消息传来时,我 ...
- Android中使用Notification实现进度通知栏(Notification示例三)
我们在使用APP的过程中,软件会偶尔提示我们进行版本更新,我们点击确认更新后,会在通知栏显示下载更新进度(已知长度的进度条)以及安装情况(不确定进度条),这就是我们今天要实现的功能.实现效果如下: 在 ...
- Android中使用Notification实现宽视图通知栏(Notification示例二)
Notification是在你的应用常规界面之外展示的消息.当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏.要查看消息的详情需要进入通知抽屉(notificationdrawer) ...
随机推荐
- VBA标准模块与类模块
大家通过之前的介绍,已知道怎么将一个空模块插入VBA的工程中.从插入模块中可以看到,模块有有两种——标准模块与类模块.类模块是含有类定义的特殊模块,包括其属性和方法的定义.在后面会有介绍与说明. 随着 ...
- FTP搭建
在桌面上右击“我的电脑”,执行“管理”命令,在“计算机管理”窗口的左窗格中依次展开“系统工具 ”→“本地用户和组”目录,单击选中“用户”选项.在右侧窗格中单击右键,执行“新用户”命令.在 打开的“新用 ...
- .NET常用方法——邮件发送
邮件发送类文件,可直接使用: 调用方法(实例化.静态调用): 实例化: string exception = ""; SendEmail.SendEmail SE = new Se ...
- 【MySQL】unique列插入重复值解决方案
当在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT.中断操作或者更新旧 ...
- .NET中值得体验的精妙设计
转自: http://developer.51cto.com/art/201104/255455_all.htm .NET 是 Microsoft XML Web services 平台.MEF是.N ...
- 如何获取客户端IP、操作系统、浏览器
request.getRemoteAddr();//获取IP request.getHeader("User-Agent");//获取操作系统信息.浏览器信息. protected ...
- HashMap的实现
HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此 ...
- API 双方认证探讨
开放 api 已是大势所趋.而 api 这种东西有个特点就是覆水难收.一旦公开出去了,被大量用户使用,一旦修改,就会让广大用户都掉坑里.所以,api 在设计之初就要尽量考虑周全,并预留扩展可能. 目前 ...
- 张恭庆编《泛函分析讲义》第二章第5节 共轭空间 $\bullet$ 弱收敛 $\bullet$ 自反空间习题解答
1.$\ell^p\ (1\leq p<\infty)$ 的对偶 求证: $\dps{\sex{\ell^p}^*=\ell^q\quad\sex{1\leq p<\infty,\ \fr ...
- 转--2014年最新810多套android源码2.46GB免费一次性打包下载
转载自:http://www.eoeandroid.com/thread-497046-1-1.html 感谢该博客主人无私奉献~~ 下面的源码是从今年3月份开始不断整理源码区和其他网站上的安卓例子源 ...