android 通知栏
一、拿到NotificationManager manager= (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
二、创建Notification notification = new Notification(R.drawable.icon,"This is ticket text",System.currentTimeMillis());
第一个参数用于指定通知图标。第二个参数用于指定通知的ticker内容,当通知刚被创建时,会在状态栏一闪而过。第三个参数指定通知创建时间,当下拉系统状态栏时,这个时间会显示在相应的通知上。
三、指定通知的实际标题和内容。notification.setLatestEventInfo(context,"This is content title","This is content text",null);
四、发出通知manager.notify(1,notification);//第一个参数表示通知id不能重复
五、点击通知跳转到NotificationActivity,使用延时执行的intent,即PendingIntent
Intent intent = new Intent(this,Notification.class);
PendingIntent pi = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_CANCEL_CURRENT);
notification.setLatestEventInfo(context,"This is content title","This is content text",pi);//第四个参数
manager.notify(1,notification);
六、打开NotificationActivity时,要关闭通知栏。
public class NotificationActivity extends Activity{
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.notification_layout);
NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
manager.cancel(1);//nofify中第一个参数使用的id
}
}
七、为通知加上声音和振动,LED闪烁
可以直接使用通知的默认效果notification.defaults = Notificaion.DEFAULT_ALL;
Uri soundUri = Uri.fromFile(new File("/system/media/audio/ringtones/Basic_tone.ogg"));
notification.sound = soundUri;
long[] vibrates = {0,1000,1000,1000};//静止时长,振动时长,静止时长……
notification.vibrate = vibrate;
notification.ledARGB = Color.GREEN;
notification.ledOnMS = 1000;//亮起时长
notification.ledOffMS = 1000;//暗去时长
notification.flags = Notificaion.FLAG_SHOW_LIGHTS;
上一篇: java 多线程
下一篇: android view(5)自定义组件
推荐阅读
-
java-从 android 应用程序响应时间发送 php 查询到服务器
-
PHP获取地址栏URL函数
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
Android换肤框架涉及源码流程
-
Android 对话框dialog使用注意点(android.view.WindowManager$BadTokenException)
-
Android仿IOS ViewPager滑动进度条
-
Android中Activity之间跳转和参数传递的实例
-
Android动态模糊效果的快速实现方法
-
ImageView点击可变暗的实例代码(android代码技巧)
-
iOS如何去掉导航栏(UINavigationBar)下方的横线