您的位置:首页 > 其它

通知栏通知:Notification的实现

2015-12-27 11:33 309 查看

通知栏通知:Notification

通知栏内容:标题、图标、内容、时间、点击后响应

如何实现通知栏:

1、获取NotificationManaager是系统的常用服务要通过:

getSystemService(Context.n... s...)得到对象

通知管理类-----控制2、3作用

2、显示通知栏:notify(id,notification)

3、取消通知栏:canele(id)

4、构造Notification并设置显示内容

5、通知栏通知可以设置声音提示,指示灯,以及震动效果

构造Notification并设置显示内容:

----Builder类,实例一个Builder对象(导Notification包)

----用Builder对象set。。。标题、图标、内容、时间、点击意图、提示状态

Builder builder = new Notification.Builder(this);

builder.setSmallIcon(R.drawable.XXX);//设置图标

builder.setTicker("hello");//手机状态栏的提示

builder.setWhen(System.currentTimeMills());//设置时间

builder.setContentTitle("通知栏通知");//设置标题

builder.setContentText("我来自NotificationDemo");//设置通知内容

Intent intent = new Intent(this,MainActivity.class);

PendingIntent pintent = PendingIntent.getActivity(this,0,intent);

builder.setContentIntent(pintent );//点击后的意图

//builder.setDefaults(Notification.DEFAULT_SOUND);//设置提 示声音

//builder.setDefaults(Notification.DEFAULT_LIGHTS);//设置指示灯

//builder.setDefaults(Notification.DEFAULT_VIBRATE);//设置震动

builder.setDefaults(Notification.DEFAULT_ALL);//三种效果都有

Notification notifiction = builder.build();//4.1及以上

//builder.getNotification();//4.1以下

*注:

指示灯和震动的设置需要在AndroidManifest.xml中设置权限

users Permission

android.permission.FLASHLIGHT

android.permission.VIBRATE

看具体代码:

import android.app.Activity;
import android.app.Notification;
import android.app.Notification.Builder;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity implements OnClickListener{
NotificationManager manager;//通知控制类
int notification_ID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
findViewById(R.id.btn_send).setOnClickListener(this);
findViewById(R.id.btn_cancle).setOnClickListener(this);

}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btn_send:
sendNotification();
break;
case R.id.btn_cancle:
manager.cancel(notification_ID);
break;
}
}
/**
* 构造notification并发送到通知栏
*/
private void sendNotification(){
Intent intent = new Intent(this,MainActivity.class);
PendingIntent pintent = PendingIntent.getActivity(this, 0, intent, 0);
Builder builder = new Notification.Builder(this);
builder.setSmallIcon(R.drawable.ic_launcher);//设置图标
builder.setTicker("hello");//手机状态栏的提示;
builder.setWhen(System.currentTimeMillis());//设置时间
builder.setContentTitle("通知栏通知");//设置标题
builder.setContentText("我来自NotificationDemo");//设置通知内容
builder.setContentIntent(pintent);//点击后的意图
//		builder.setDefaults(Notification.DEFAULT_SOUND);//设置提示声音
//		builder.setDefaults(Notification.DEFAULT_LIGHTS);//设置指示灯
//		builder.setDefaults(Notification.DEFAULT_VIBRATE);//设置震动
builder.setDefaults(Notification.DEFAULT_ALL);//设置震动
Notification notification = builder.build();//4.1以上
//builder.getNotification();
manager.notify(notification_ID, notification);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: