Android下Notification的构造和使用

来源:互联网 发布:卖家怎么玩好淘宝客 编辑:程序博客网 时间:2024/05/16 07:25

部分内容转自:http://www.piaoyi.org/mobile-app/Android-setLatestEventInfo-Handler-SimpleDateFormat.html


由于API版本的更新,Notification的构造方法在不断变化。现在最新版本已经是API  level  23(Android 6.0) .


其中 setLatestEventInfo() 和 new Notification() 方法都被deprecate,不建议使用,需要用新的方法去实现,

由于版本问题,困然了半天,然后终于基本解决了。


先说下API level ,由于使用的SDK 的版本不同,Notification的使用方法不同。

低于API Level 11版本,也就是Android 2.3.3以下的系统中,setLatestEventInfo()函数是唯一的实现方法。

Intent  intent = new Intent(this,MainActivity);  PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT);  notification.setLatestEventInfo(context, title, message, pendingIntent);          manager.notify(id, notification);  
2丶 高于API Level 11,低于API Level 16 (Android 4.1.2)版本的系统中,可使用Notification.Builder来构造函数。但要使用getNotification()来使notification实现。

Notification.Builder builder = new Notification.Builder(context)              .setAutoCancel(true)              .setContentTitle("title")              .setContentText("describe")              .setContentIntent(pendingIntent)              .setSmallIcon(R.drawable.ic_launcher)              .setWhen(System.currentTimeMillis())              .setOngoing(true);  notification=builder.getNotification();  
3丶高于API Level 16的版本,就可以用Builder和build()函数来配套的方便使用notification了。

Notification notification = new Notification.Builder(context)             .setAutoCancel(true)             .setContentTitle("title")             .setContentText("describe")             .setContentIntent(pendingIntent)             .setSmallIcon(R.drawable.ic_launcher)             .setWhen(System.currentTimeMillis())             .build();   

现在主要是level 16以上的  所以将简单演示下(用Android studio写)。

做了个点击按钮进行弹出状态框提示,也就是一些手机APP的提示。

1、首先在main.xml下创建个Button按钮



2、然后在main.java下设置Button的点击事件,当点击时,调用fun_statusbarnotification()方法弹出状态框。


3、填写fun_statusbarnotification()方法


4、在模拟器上运行,点击按钮。


5、调用fun_statusbarnotification()方法,下拉菜单即可看到状态框。




0 0
原创粉丝点击