Notification 与状态栏信息

新建一个Android工程

然后编辑main.xml

代码如下

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:orientation="vertical"
  4.     android:layout_width="fill_parent"
  5.     android:layout_height="fill_parent"
  6.     > 
  7. <Button   
  8.     android:layout_width="wrap_content"
  9.     android:layout_height="wrap_content"
  10.     android:text="@string/send"
  11.     android:id="@+id/button"
  12.     /> 
  13. </LinearLayout> 

再编辑strings.xml

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3.     <string name="hello">通知</string> 
  4.     <string name="app_name">状态栏通知</string> 
  5. <string name="send">发送通知</string> 
  6. </resources> 

然后就是对其Notification进行处理

下面来看一下创建并显示一个Notification的步骤。创建和显 示一个Notification需要如下5步:

1. 通过getSystemService方法获得一个NotificationManager对象。

2. 创建一个Notification对象。每一个Notification对应一个Notification对象。在这一步需要设置显示在屏幕上方状态栏的通知消息、通知消息前方的图像资源ID和发出通知的时间。一般为当前时间。

3. 由于Notification可以与应用程序脱离。也就是说,即使应用程序被关闭,Notification仍然会显示在状态栏 中。当应用程序再次启动后,又可以重新控制这些Notification。如清除或替换它们。因此,需要创建一个PendingIntent对象。该对象由Android系统负责维护,因此,在应用程序关闭后,该对象仍然不会被释放。

4. 使用Notification类的setLatestEventInfo方法设置Notification的详细信息。

5. 使用NotificationManager类的notify方法显示Notification消息。在这一步需要指定标识Notification的唯一ID。这个ID必须相对于同一个NotificationManager对象是唯一的,否则就会覆盖相同ID的Notificaiton。

心动不如行动,下面我们来演练一下如何在状 态栏显示一个Notification,代码如下:

  1. package com.cayden.notification; 
  2. import android.app.Activity; 
  3. import android.app.Notification; 
  4. import android.app.NotificationManager; 
  5. import android.app.PendingIntent; 
  6. import android.content.Context; 
  7. import android.os.Bundle; 
  8. import android.view.View; 
  9. import android.widget.Button; 
  10. /**
  11. * @author York
  12. *
  13. */
  14. public class NotificationActivity extends Activity { 
  15. /** Called when the activity is first created. */
  16.     @Override 
  17. public void onCreate(Bundle savedInstanceState) { 
  18. super.onCreate(savedInstanceState); 
  19.         setContentView(R.layout.main); 
  20.         Button button=(Button)this.findViewById(R.id.button); 
  21.         button.setOnClickListener(new View.OnClickListener() { 
  22.             @Override 
  23. public void onClick(View v) { 
  24. // TODO Auto-generated method stub
  25. /**
  26.                  * 获取通知管理器
  27.                  */
  28.                 NotificationManager notificationManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 
  29. int icon=android.R.drawable.sym_action_email; 
  30. long when=System.currentTimeMillis(); 
  31. /**
  32.                  * 新建一个通知指定图标和标题
  33.                  */
  34.                 Notification notification=new Notification(icon,null,when); 
  35.                 notification.defaults=Notification.DEFAULT_SOUND;//发出默认声音
  36.                 PendingIntent contenIntent=PendingIntent.getActivity(NotificationActivity.this, 0, null, 0); 
  37.                 notification.setLatestEventInfo(NotificationActivity.this, "开会通知", "今天下午四点半在512开会!", contenIntent); 
  38.                 notificationManager.notify(0, notification);//发送通知
  39.             } 
  40.         }); 
  41.     } 

运行效果如图所示:

点击发送通知按钮

后的效果

在左上角多出一个邮件符号.

然后用鼠标选中往下拖

参考内容:

http://blog.csdn.net/cuiran/article/details/5731513

http://www.cnblogs.com/nokiaguy/archive/2010/07/13/1776190.html

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇