欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android状态栏提醒(Notification、NotificationManager)

程序员文章站 2022-07-14 17:44:25
...
package com.yarin.android.Examples_04_23;

import android.app.Activity;

import android.app.Notification;

import android.app.NotificationManager;

import android.app.PendingIntent;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class Activity01 extends Activity

{

       Button    m_Button1, m_Button2, m_Button3, m_Button4;

       //声明通知(消息)管理器

       NotificationManager      m_NotificationManager;

       Intent                           m_Intent;

       PendingIntent        m_PendingIntent;

       //声明Notification对象

       Notification           m_Notification;

       /** Called when the activity is first created. */

       @Override

       public void onCreate(Bundle savedInstanceState)

       {

              super.onCreate(savedInstanceState);

              setContentView(R.layout.main);

              //初始化NotificationManager对象

              m_NotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

              //获取4个按钮对象

              m_Button1 = (Button) findViewById(R.id.Button01);

              m_Button2 = (Button) findViewById(R.id.Button02);

              m_Button3 = (Button) findViewById(R.id.Button03);

              m_Button4 = (Button) findViewById(R.id.Button04);

              //点击通知时转移内容

              m_Intent = new Intent(Activity01.this, Activity02.class);

              //主要是设置点击通知时显示内容的类

              m_PendingIntent = PendingIntent.getActivity(Activity01.this, 0, m_Intent, 0);

              //构造Notification对象

              m_Notification = new Notification();

              m_Button1.setOnClickListener(new Button.OnClickListener() {

                     public void onClick(View v)

                     {

                            //设置通知在状态栏显示的图标

                            m_Notification.icon = R.drawable.img1;

                            //当我们点击通知时显示的内容

                            m_Notification.tickerText = "Button1通知内容...........";

                            //通知时发出默认的声音

                            m_Notification.defaults = Notification.DEFAULT_SOUND;

                            //设置通知显示的参数

                            m_Notification.setLatestEventInfo(Activity01.this, "Button1", "Button1通知", m_PendingIntent);

                            //可以理解为执行这个通知

                            m_NotificationManager.notify(0, m_Notification);

                     }

              });

              m_Button2.setOnClickListener(new Button.OnClickListener() {

                     public void onClick(View v)

                     {

                            m_Notification.icon = R.drawable.img2;

                            m_Notification.tickerText = "Button2通知内容...........";

                            //通知时震动

                            m_Notification.defaults = Notification.DEFAULT_VIBRATE;

                            m_Notification.setLatestEventInfo(Activity01.this, "Button2", "Button2通知", m_PendingIntent);

                            m_NotificationManager.notify(0, m_Notification);

                     }

              });

              m_Button3.setOnClickListener(new Button.OnClickListener() {

                     public void onClick(View v)

                     {

                            m_Notification.icon = R.drawable.img3;

                            m_Notification.tickerText = "Button3通知内容...........";

                            //通知时屏幕发亮

                            m_Notification.defaults = Notification.DEFAULT_LIGHTS;

                            m_Notification.setLatestEventInfo(Activity01.this, "Button3", "Button3通知", m_PendingIntent);

                            m_NotificationManager.notify(0, m_Notification);

                     }

              });

              m_Button4.setOnClickListener(new Button.OnClickListener() {

                     public void onClick(View v)

                     {

                            m_Notification.icon = R.drawable.img4;

                            m_Notification.tickerText = "Button4通知内容..........";

                            //通知时既震动又屏幕发亮还有默认的声音

                            m_Notification.defaults = Notification.DEFAULT_ALL;

                            m_Notification.setLatestEventInfo(Activity01.this, "Button4", "Button4通知", m_PendingIntent);

                            m_NotificationManager.notify(0, m_Notification);

                     }

              });

       }

}