Android Notification状态栏通知

没有添加额外的震动及声音效果,这里直接实现了通知的功能,看效果吧:

MainActivity.java

package com.example.notification;

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

public NotificationManager mNotificationManager;

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 1-获得MotificationManager的引用。

String ns = Context.NOTIFICATION_SERVICE;
mNotificationManager = (NotificationManager) getSystemService(ns);

// 2-实例化Notification:

int icon = R.drawable.new_mail;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText,
when);

// 3-定义Notification,如显示icon、目标intent等信息

Context context = getApplicationContext();
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(v.getContext(),
MessageActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(
v.getContext(), 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle,
contentText, contentIntent);

// 4-传递给Manager.

final int HELLO_ID = 1;
mNotificationManager.notify(HELLO_ID, notification);
}
});

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}

MessageActivity.java

package com.example.notification;

import android.app.Activity;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Bundle;

public class MessageActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_message);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.cancel(1);//这里实现了,点击消息后,自己主动清除消息的功能。
}
}

XML布局文件就不写了。非常easy的~

这里没有实现通知到达时的提示效果,如震动、提示音之类。将在 Android Notification实现推送消息过程中接受到消息端有声音及震动及亮屏提示 文章实现这样的功能

时间: 2024-10-14 16:53:10

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

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

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

Android基础入门教程——2.5.2 Notification(状态栏通知)详解

Android基础入门教程--2.5.2 Notification(状态栏通知)详解 标签(空格分隔): Android基础入门教程 本节引言: 本节带来的是Android中用于在状态栏显示通知信息的控件:Notification,相信大部分 学Android都对他都很熟悉,而网上很多关于Notification的使用教程都是基于2.x的,而 现在普遍的Android设备基本都在4.x以上,甚至是5.0以上的都有:他们各自的Notification 都是不一样的!而本节给大家讲解的是基于4.x以

Android Notification自定义通知样式你要知道的事

本文将根据个人经验对Notification做个总结,以供参考! 什么是通知(Notification) 通知是一个可以在应用程序正常的用户界面之外显示给用户的消息. 通知发出时,它首先出现在状态栏的通知区域中,用户打开通知抽屉可查看通知详情.通知区域和通知抽屉都是用户可以随时查看的系统控制区域. 作为安卓用户界面的重要组成部分,通知有自己的设计指南.在Android 5.0(API level 21)中引入的 Material Design 的变化是特别重要的,更多信息请阅读 通知设计指南.

(转)Notification状态栏通知

Notification分为普通通知和自定义的两种,由图标.ticker(提示信息).标题.内容.时间.事件组成, 普通通知demo: 1 package com.android.hzynotification; 2 3 import android.app.Activity; 4 import android.app.Notification; 5 import android.app.NotificationManager; 6 import android.app.PendingInten

android 实现自定义状态栏通知(Status Notification)

在android项目的开发中,有时为了实现和用户更好的交互,在通知栏这一小小的旮旯里,我们通常需要将内容丰富起来,这个时候我们就需要去实现自定义的通知栏,例如下面360或者网易的样式: 首先我们要了解的是 自定义布局文件支持的控件类型:Notification的自定义布局是RemoteViews,因此,它仅支持FrameLayout.LinearLayout.RelativeLayout三种布局控件,同时支持AnalogClock.Chronometer.Button.ImageButton.I

android 实现自己定义状态栏通知(Status Notification)

在android项目的开发中,有时为了实现和用户更好的交互,在通知栏这一小小的旮旯里,我们通常须要将内容丰富起来,这个时候我们就须要去实现自己定义的通知栏,比如以下360或者网易的样式: 首先我们要了解的是 自己定义布局文件支持的控件类型:Notification的自己定义布局是RemoteViews,因此,它仅支持FrameLayout.LinearLayout.RelativeLayout三种布局控件,同一时候支持AnalogClock.Chronometer.Button.ImageBut

Android 状态栏通知Notification、NotificationManager简介

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

Android 状态栏通知Notification、NotificationManager详解

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

Android Notification通知详解

Android Notification通知详解 Notification: (一).简介: 显示在手机状态栏的通知.Notification所代表的是一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification. Android3.0增加了Notification.Builder类,该类可以轻松地创建Notification对象. (二).Notification.Builder类中提供的方法: builder.setAutoCancel();