大家好今天简单讲一下Android状态栏提醒,这个在开发中也会经常使用,当我们插上USB会有状态栏提醒,来短信时也会有状态栏的提醒。

而在Android中有提醒功能的也可以用AlertDialog,但是我们要审重的使用,因为当使用AlertDialog 的时候,用户正在进行的操作将会被打断

因为当前焦点被AlertDialog得到。我们可以想像一下,当用户打游戏正爽的时候,这时候来了一条短信。如果这时候短信用AlertDialog提醒,用户必须先去处理这条提醒,从而才能继续游戏。用户可能会活活被气死。而使用Notification就不会带来这些麻烦事,用户完全可以打完游戏再去看这条短信。所以在开发中应根据实际需求,选择合适的控件。

好了我今天又简单写了一个Demo, 教大家如何使用Notification,大致分以下几个步骤:

第一步:新建一个Android工程命名为NotificationDemo.

第二步:修改main.xml代码如下:

01.<?xml version="1.0" encoding="utf-8"?> 02.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 03. android:orientation="vertical" 04. android:layout_width="fill_parent" 05. android:layout_height="fill_parent" 06. > 07.<TextView 08. android:layout_width="fill_parent" 09. android:layout_height="wrap_content" 10. android:text="Welcome to Mr Wei's blog" 11. /> 12.<Button 13. android:id="@+id/showButton" 14. android:layout_width="fill_parent" 15. android:layout_height="wrap_content" 16. android:text="showNotification" 17./> 18.<Button 19. android:id="@+id/cancelButton" 20. android:layout_width="fill_parent" 21. android:layout_height="wrap_content" 22. android:text="cancelNotification" 23./> 24.</LinearLayout> 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Android_Tutor/archive/2010/06/27/5696773.aspx

第三步:修改NotificationDemo.java代码如下:

01.package com.tutor.notification; 02.import android.app.Activity; 03.import android.app.Notification; 04.import android.app.NotificationManager; 05.import android.app.PendingIntent; 06.import android.content.Context; 07.import android.content.Intent; 08.import android.os.Bundle; 09.import android.view.View; 10.import android.view.View.OnClickListener; 11.import android.widget.Button; 12.public class NotificationDemo extends Activity implements OnClickListener{ 13. 14. private Context mContext; 15. private Button showButton,cancelButton; 16. private Notification mNotification; 17. private NotificationManager mNotificationManager; 18. private final static int NOTIFICATION_ID = 0x0001; 19. 20. @Override 21. public void onCreate(Bundle savedInstanceState) { 22. super.onCreate(savedInstanceState); 23. setContentView(R.layout.main); 24. 25. setupViews(); 26. } 27. //这里是初始化一些操作,可以看到onCreate()方法里代码非常简洁。 28. public void setupViews(){ 29. mContext = NotificationDemo.this; 30. showButton = (Button)findViewById(R.id.showButton); 31. cancelButton = (Button)findViewById(R.id.cancelButton); 32. 33. mNotification = new Notification(R.drawable.icon,"This is a notification.",System.currentTimeMillis()); 34. //将使用默认的声音来提醒用户 35. mNotification.defaults = Notification.DEFAULT_SOUND; 36. mNotificationManager = (NotificationManager)this.getSystemService(NOTIFICATION_SERVICE); 37. 38. 39. showButton.setOnClickListener(this); 40. cancelButton.setOnClickListener(this); 41. } 42. //按钮点击事件响应 43. public void onClick(View v) { 44. 45. if(v == showButton){ 46. Intent mIntent = new Intent(mContext,NotificationDemo.class); 47. //这里需要设置Intent.FLAG_ACTIVITY_NEW_TASK属性 48. mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 49. PendingIntent mContentIntent =PendingIntent.getActivity(mContext,0, mIntent, 0); 50. //这里必需要用setLatestEventInfo(上下文,标题,内容,PendingIntent)不然会报错. 51. mNotification.setLatestEventInfo(mContext, "10086", "您的当前话费不足,请充值.哈哈~", mContentIntent); 52. //这里发送通知(消息ID,通知对象) 53. mNotificationManager.notify(NOTIFICATION_ID, mNotification); 54. }else if(v == cancelButton){ 55. //取消只要把通知ID传过来就OK了. 56. mNotificationManager.cancel(NOTIFICATION_ID); 57. } 58. } 59.} 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Android_Tutor/archive/2010/06/27/5696773.aspx

第四步:运行Android工程,效果如下图所示:

Android状态栏提醒(Notification,NotificationManager)的使用!_第1张图片

Android状态栏提醒(Notification,NotificationManager)的使用!_第2张图片

Android状态栏提醒(Notification,NotificationManager)的使用!_第3张图片

出自http://blog.csdn.net/Android_Tutor/archive/2010/06/27/5696773.aspx

更多相关文章

  1. Android开发——记账App开发项目分享(一)之用户登录
  2. android app --- 快速集成SharaSDK ,SMS实现短信验证(一)2.0版之前
  3. Android开发之核心特性SearchView的开发使用(源代码分享)
  4. 自定义android用户控件,使用回调函数实现自定义事件
  5. Android studio怎么使用代码检查工具Analyze?
  6. 跟Google学写代码:Android运行时权限处理
  7. Android 2.2用户超过一半
  8. Android调用手机相机与手机图库选择用户头像
  9. 亲测可用Android原生代码添加系统服务

随机推荐

  1. Android(安卓)so注入( inject)和Hook(挂
  2. androidのDOM方式解析XML
  3. android与javascript交互调用
  4. Android(安卓)性能优化(一)
  5. Android中LCD背光驱动
  6. Android(安卓)应用程序快速启动的秘诀
  7. 【入门篇】Android学习笔记――常用布局
  8. 想抢先体验Android操作系统的魅力吗?那就
  9. Android的Activity切换动画特效库SwitchL
  10. Android(安卓)AIDL Service调试方法