Android Notification 使用

notifications_anatomy_02_content.png

通知必须的元素:

//  系统状态栏显示的小图标
builder.setSmallIcon(R.mipmap.ic_launcher); // 必须  
//  通知标题栏
builder.setContentTitle("title"); // 必须
//  通知内容栏        
builder.setContentText("content"); // 必须     

其他元素:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);        //系统状态栏显示的小图标,必须设置,否则报错        builder.setSmallIcon(R.mipmap.ic_launcher); // 必须        builder.setContentTitle("title"); // 必须        
builder.setContentText("content"); // 必须        
builder.setSubText("subtext");       
 // 点击通知,通知是否消失
builder.setAutoCancel(false);        
// 滑动通知,通知不会消失 true:不消失,false:消失        
builder.setOngoing(false);        
// 左上角是否显示时间       
builder.setShowWhen(false);        
builder.setNumber(20);        
// 下拉的时候显示的大图标
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));       
 //通知默认的声音 震动 呼吸灯
builder.setDefaults(NotificationCompat.DEFAULT_ALL);       
 // 设置声音
//builder.setSound()
//  设置通知等级,一共五级        
builder.setPriority(2);
// 设置点击通知时候的动作
Intent intent = new Intent(this, SecondActivity.class);        
// 1. 通知和 TaskStackBuilder 一起使用,暂时不是特别了解
//        TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(this);
//        taskStackBuilder.addParentStack(MainActivity.class);
//        taskStackBuilder.addNextIntent(intent);
//        PendingIntent pIntent = taskStackBuilder.getPendingIntent(0, PendingIntent.FLAG_NO_CREATE); 
// 2.设置详细扩展显示时候的样式
//        NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
//       
 // 设置头部
//        inboxStyle.setBigContentTitle("Event tracker details:");
//        
// 设置详细
//        for (int i=0; i < 6; i++) {
//            inboxStyle.addLine(i+"");
////        }
//       
 // Moves the expanded layout object into the notification object.//        builder.setStyle(inboxStyle); 
       // PendingIntent.FLAG_ONE_SHOT: 只能点击一次,再点击不创建 activity
       // 0:可以不断点击,点击一次创建一个新的activity,可返回
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);        builder.setContentIntent(pIntent); 
Notification notification = builder.build();       
manager.notify(TYPE_Normal, notification);

Android 官方文档链接:
https://developer.android.com/guide/topics/ui/notifiers/notifications.html
夸一下谷歌的国际化还是做得不错的,已经有中文版本了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,041评论 25 709
  • http://developer.android.com/training/notify-user/build-n...
    helloKai阅读 1,168评论 3 2
  • 如何创建通知 随着Android系统不断升级,Notification的创建方式也随之变化,主要变化如下: And...
    4e70992f13e7阅读 3,446评论 3 22
  • 今天早起,起来去公园散步,但是发现公园有点凉,所以我走了一会就打道回府。 路上发现的这些白色的花,是平时不...
    决子阅读 300评论 0 0
  • 音频内容来源:《如何阅读一本书》| 玉裁解读 | 得到 拿到一本书(一篇评论、一份文献),首先做的是问自己:为什么...
    高昆阅读 631评论 0 5