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>

时间: 2024-10-06 19:17:35

Android——状态栏通知栏Notification的相关文章

Android 状态栏通知Notification

Notification可以在屏幕最顶部的状态栏上显示一个图标通知,通知的同时可以播放声音,以及振动提示用户,点击通知还可以返回指定的Activity. 今天例子的效果图: 布局main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andro

Android 状态栏通知Notification、NotificationManager详解

在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:  NotificationManager . Notification. NotificationManager :  是状态栏通知的管理类,负责发通知.清楚通知等. NotificationManager 是一个系统Service,必须通过 getSystemService()方法来获取. 1 <code>Notificat

Android 状态栏通知Notification、NotificationManager简介

Notification(通知)一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个通知: 在Android系统中,发一个状态栏通知还是很方便的.发送一个状态栏通知必须用到两个类:  NotificationManager . Notification: NotificationManager :  是状态栏通知的管理类,负责发通知.清楚通知等:NotificationManager 是一个系统Service,必

android 创建通知栏Notification

http://blog.csdn.net/theowl/article/details/49242633 http://blog.csdn.net/theowl/article/details/49242639 http://blog.csdn.net/theowl/article/details/49242641 http://blog.csdn.net/theowl/article/details/49242643 http://blog.csdn.net/theowl/article/de

Android开发之通知栏Notification详解

Notification的用法  --- 状态栏通知 发送一个状态栏通知必须的两个类: 1. NotificationManager   --- 状态栏通知的管理类,负责发通知,清除通知等 NotificationManager : 是一个系统Service,必须通过 context.getSystemService(NOTIFICATION_SERVICE)方法获取 NotificationManager notificationManager = (NotificationManager)

Android中使用Notification实现宽通知栏(Notification示例二)

Notification是在你的应用常规界面之外展示的消息.当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏.要查看消息的详情需要进入通知抽屉(notificationdrawer)中查看.通知栏和通知抽屉 (notificationdrawer)都是系统层面控制的,你可以随时查看,不限制于app. Notification 的设计: 作为android UI中很重要的组成部分,notification拥有专属于自己的设计准则. Notification的界面元素在通知抽屉中的

Android种使用Notification实现通知管理以及自定义通知栏(示例四)

示例一:实现通知栏管理 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的.例如我们手机的短信系统,当不断有新消息传来时,我们的通知栏仅仅是更改传来短信的数目,而不是对每条短信单独做一个通知栏用于提示. 修改通知 可以设置一条通知,当然可以更新一条通知,我们通过在调用NotificationManager.notify(ID, notification)时所使用的ID来更新它.为了更新你之前发布的通知,你需要更新或者创建

Android中使用Notification实现进度通知栏(示例三)

我们在使用APP的过程中,软件会偶尔提示我们进行版本更新,我们点击确认更新后,会在通知栏显示下载更新进度(已知长度的进度条)以及安装情况(不确定进度条),这就是我们今天要实现的功能.实现效果如下: 在代码实现功能前,我们先解释进度条的两种状态: (1)显示一个已知长度的进度条指示器(Displaying a fixed-duration progress indicator) 为了能够显示一个确定的进度条,通过调用setProgress() setProgress(max, progress,

【Android】状态栏通知Notification、NotificationManager详解(转)

在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:  NotificationManager . Notification. NotificationManager :  是状态栏通知的管理类,负责发通知.清楚通知等. NotificationManager 是一个系统Service,必须通过 getSystemService()方法来获取. [java] view plainc