android让后将程序图标显示在状态栏

来源:互联网 发布:知乎话题广场 编辑:程序博客网 时间:2024/05/20 05:30

根据activity的生命周期,在activity不显示时,会执行onStop函数,所以你在onStop函数(按退出键除外)里面把notification放在通知栏里,再此显示时,把notification从通知栏里去掉。

或者,只要程序在运行就一直显示通知栏图标,这样简单点。

Java代码  收藏代码
  1. privatevoid showNotification() {  
  2. // 创建一个NotificationManager的引用  
  3. NotificationManager notificationManager = (NotificationManager)   
  4.     context.getSystemService(android.content.Context.NOTIFICATION_SERVICE);  
  5.   
  6. // 定义Notification的各种属性  
  7. Notification notification =new Notification(R.drawable.icon,  
  8.         "天籁之音播放器", System.currentTimeMillis());  
  9. notification.flags |= Notification.FLAG_ONGOING_EVENT; // 将此通知放到通知栏的"Ongoing"即"正在运行"组中  
  10. notification.flags |= Notification.FLAG_NO_CLEAR; // 表明在点击了通知栏中的"清除通知"后,此通知不清除,经常与FLAG_ONGOING_EVENT一起使用  
  11. notification.flags |= Notification.FLAG_SHOW_LIGHTS;  
  12. notification.defaults = Notification.DEFAULT_LIGHTS;  
  13. notification.ledARGB = Color.BLUE;  
  14. notification.ledOnMS =5000;  
  15.           
  16. // 设置通知的事件消息  
  17. CharSequence contentTitle ="天籁之音正在播放……"// 通知栏标题  
  18. CharSequence contentText ="ameyume"// 通知栏内容  
  19. Intent notificationIntent =new Intent(context, MusicDemo.class); // 点击该通知后要跳转的Activity  
  20. PendingIntent contentItent = PendingIntent.getActivity(context, 0,  
  21.         notificationIntent, 0);  
  22. notification.setLatestEventInfo(context, contentTitle, contentText,  
  23.         contentItent);  
  24.   
  25. // 把Notification传递给NotificationManager  
  26. notificationManager.notify(0, notification);  




去掉通知栏通知的方法

       

Java代码  收藏代码
  1. // 启动后删除之前我们定义的通知  
  2.         NotificationManager notificationManager = (NotificationManager) this  
  3.                 .getSystemService(NOTIFICATION_SERVICE);  
  4.         notificationManager.cancel(0); 
0 0