第十四天·Notification
Notification为用于在状态栏显示通知信息的控件,功能作用:
1、显示接收到短消息、即时消息等信息,如微信/QQ等
2、显示客户端的推送消息,如广告。推荐新闻
3、显示正在进行的时间,如音乐播放,后台下载等。
实现一个简单的Notification需要三个步骤:
1.首先需要一个NotificationManager
NotificationManager manager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
2、创建一个Builder用于设置通知的属性
Notification.Builder builder=new Notification.Builder(MainActivity.this);
设置builder的属性
设置大图标
Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.mitmap.ic_launcher);
builder.setLargeIcon(bitmap);
设置消息来时提示
builder.setTicker("通知来了");
设置标题
builder.setContentTitle("美玲来短信");
设置通知内容
builder.setContentText("小高,明天我请你吃饭吧!");
设置小图标
builder.setSmallIcon(R.mipmap.ic_launcher);
3、根据builder创建notification
Notification notification=builder.build();
利用manage将通知显示出来,第一个参数是给他设的id值用于区分不同的Notification
manager.notify(50,notification);
Notification.Builder方法
// setContentText()设置通知栏显示的内容 String
// setTicker()接到Notification的提示 String
// setWhen()通知产生的时间
// setAutoCancel()设置点击Notification后是否消失 true/false
// setDefaults()向通知添加声音、闪光灯和振动效果
// setLargelcon()设置大图标 Bitmap
// setSmalllcon()设置小图标 drawable
setDefaults()里面你要添加的声音,闪光,振动要加权限
Notification.DEFAULT_VIBRATE 添加默认振动提醒
Notification.DEFAULT_SOUND 添加默认声音提醒
Notification.DEFAULT_LIGHTS 添加默认三色灯提醒
Notification.DEFAULT_ALL 添加默认以上3种全部提醒
代码如下:
package com.xiaogao.user.android2lesson_14_notification;
import android.app.Notification;
import android.app.NotificationManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button defultStyle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
defultStyle= (Button) findViewById(R.id.main_btn);
defultStyle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//首先需要一个manage
NotificationManager manager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//创建一个builder用于设置通知的属性
Notification.Builder builder=new Notification.Builder(MainActivity.this);
//设置builder的属性
//设置大图标
Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.drawable.lml);
builder.setLargeIcon(bitmap);
//设置消息来时提示
builder.setTicker("通知来了");
//设置标题
builder.setContentTitle("刘美玲短信");
//设置通知内容
builder.setContentText("小高,明天我请你吃饭吧!");
//设置小图标
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setAutoCancel(true);
//根据builder创建notification
Notification notification=builder.build();
//利用manage将通知显示出来,第一个参数是给他设的id号
manager.notify(50,notification);
}
});
}
}