第四章--Notification提醒控件详解
2016-04-17 21:42
483 查看
package com.example.notification; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.content.Context; import android.os.Bundle; import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationCompat.Builder; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { public static final int NOTIFICATION_ID=1200; //【0】定义一个计数器 private int conter=0; //【1】创建一个按钮控件的变量 private Button btnNotification; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //【2】将一个按钮控件与按钮变量关联起来 btnNotification=(Button) findViewById(R.id.btnNotification); //【3】为按钮设置一个单击事件监听器 btnNotification.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { conter++; //【4】在这里,我们就将执行创建一个Notification消息推送的工作 //【5】创建一个Notification需要先创建一个Builder,然后再通过Builder在创建一个真正的Notification对象 Builder builder=new NotificationCompat.Builder(MainActivity.this); //【6】这时通过Builder,你可以为当前的Notification指定很多属性 //【7】比如说,指定Notification的小图标 builder.setSmallIcon(R.drawable.img1); //【8】指定Notification的主要标题 builder.setContentTitle("瓦屋!你有"+conter+"个消息!"); //【9】设定消息的主题 builder.setContentText("你已经可以创建新的Notification了!"); //【10】一般,情况下,一个Notification至少包含以上三个属性 //【11】当你觉得,已经为Notification添加了足够的属性的时候,你可以创建一个新的Notification的真实对象了 //【12】通过Builder类中的build()成员方法,Notification就可以获得一个真实的对象 Notification notification=builder.build(); //【13】不过这时,它还没有办法显示在通知栏当中,所以这里,我们要创建一个新的NotificationManager //【14】这个manager如何获取呢?我们可以通过getSystemService()方法获取 NotificationManager manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); //【15】为当前的NotificationManager,让它进行notify()动作, //【16】通过此id获取Notification对象,并且对他进行更新 manager.notify(NOTIFICATION_ID, notification); } }); } }
相关文章推荐
- andorid 练习之黑名单
- 2011年浙大:Twin Prime Conjecture
- Android SlidingMenu 使用详解
- 【BZOJ1911】【codevs1318】特别行动队,斜率优化DP
- 1005 Turn the corner
- 限制输入框只能输入数字和小数点
- 深入理解JavaScript模块化编程:RequireJS
- c++学习(一) 数据类型
- 快速排序核心算法
- CentOS6 在VirtualBox中实现全屏和根据窗口大小自动调整分辨率 | Install Guest additions and run fullscreen mode on VirtualB
- web day10 request,response,编码,路径
- 关于 BFS 中 打印路径的问题
- 高精度加法
- html网页设计
- 网络图 可视化
- nginx+tomcat+memcached实现session共享
- Boosting与Bagging
- 【UNET自学日志】Part5 解决延迟产生的画面不流畅问题
- 学习 Spark Streaming 的重要性
- Android学习(26) -- 数据存储之SQLite数据库的创建