Android的状态栏通知(Notification)
如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息。
发送消息的代码如下:
//获取通知管理器
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int icon = android.R.drawable.stat_notify_chat;
long when = System.currentTimeMillis();
//新建一个通知,指定其图标和标题
Notification notification = new Notification(icon, null, when);//第一个参数为图标,第二个参数为短暂提示标题,第三个为通知时间
notification.defaults = Notification.DEFAULT_SOUND;//发出默认声音
Intent openintent = new Intent(this, OtherActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, openintent, 0);//当点击消息时就会向系统发送openintent意图
notification.setLatestEventInfo(this, “标题”, “我是内容", contentIntent);
mNotificationManager.notify(0, notification);//第一个参数为自定义的通知唯一标识
示例代码:
package cn.itcast.notifaction;
import java.io.File;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
public class DemoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void click(View view) {
// 1.Get a reference to the NotificationManager:
// 得到一个notification的服务
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// 2.Instantiate the Notification:
Notification notification = new Notification(R.drawable.ic_launcher,
"tickertext", System.currentTimeMillis());
notification.sound = Uri.fromFile(new File("/sdcard/haha.mp3"));
//设置震动
notification.vibrate = new long[] { 100, 250, 100, 5000 };
// notification.flags = Notification.FLAG_NO_CLEAR;
// 3.Define the notification's message and PendingIntent:
Intent intent = new Intent(this, DemoActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
intent, 0);
notification.setLatestEventInfo(this, "notife 标题", "noti 正文",
contentIntent);
// 4.Pass the Notification to the NotificationManager:
manager.notify(0, notification);
}
}