您的位置:首页 > 移动开发 > Android开发

Android开发之Notification的使用

2016-10-11 22:23 447 查看
Notification是显示在手机下拉状态栏的通知,它的作用是通知用户应用程序接收的信息。在如QQ收到了一个信息,会在状态栏显示收到的消息;各种应用的推送等都是通过Notification显示在状态栏的。

Notification的创建涉及这么几个类的对象:

1、NotificationManager对象,通过它将Notification发送到状态栏
2、Notification.Builder对象,用来设置通知各个区域的信息
3、Notification对象,


对于Notification,他的区域划分如下:



1、大图标区

2、小图标区

3、内容区

4、标题区

5、接收时间区

6、提示信息区

这几个区域中有三个是必须设置的,分别是小图标(SmallIcon),标题区(ContentTitle),以及内容区(ContentText)。

下面是一个简单的实例:

public class MainActivity extends Activity {

private NotificationManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}

public void btn1(View v ){
PendingIntent intent = PendingIntent.getActivity(this,0,new Intent(this,SecondActivity.class),
PendingIntent.FLAG_UPDATE_CURRENT);
Notification.Builder builder = new Notification.Builder(this);
builder.setAutoCancel(true);
builder.setTicker("uuu");
builder.setLargeIcon
(new BitmapFactory().decodeResource(getResources(), R.drawable.ic_launcher));
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setContentTitle("一个IT男的自我修养");
builder.setContentInfo("11");
builder.setContentText("在程序员中,总有那么几个人,似乎什么都会,让他坐前台,他会,后台,他也会,测试,还是会");
builder.setContentIntent(intent);
builder.setDefaults(Notification.DEFAULT_SOUND);
Notification notification = builder.build();
manager.notify(8, notification);
}
}


在按钮按下时,按照基本的流程创建了一个Notification并发送出去,这其中的setLargeIcon()方法和setSmallIcon方法之间的关系是这样的,没有LargeIcon,SmallIcon会自动显示在LargeIcon的位置。没设置SmallIcon该Notification不能正常的发送出去。涉及的方法作
4000
用如下:

setSmallIcon():设置小图标;

setContentTitle():设置通知标题;

setContentText():设置通知内容;

setDefaults():设置通知LED灯,音乐,振动等;

setAutoCancel():设置点击后自动消失;

setLargeIcon():设置大图标;

setContentInfo():设置提示信息;

setTicker():设置通知在状态栏的提示文本;

setContentIntent():设置点击通知后将要启动的程序组件对应的PendingIntent;

上面的例子点击按钮后的通知显示如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: