Android Notification显示通知的两种方法


第一种显示通知的方法:

  1. /** 
  2.  * notification 
  3.  *  
  4.  * @param id 
  5.  */  
  6. private void showNotification()  
  7. {  
  8.     RemoteViews views = new RemoteViews(getPackageName(), R.layout.statusbar);  
  9.     views.setImageViewResource(R.id.icon, R.drawable.fm_icon);  
  10.     views.setTextViewText(R.id.fm_run, getString(R.string.fm_run));  
  11.     Notification status = new Notification();  
  12.     status.contentView = views;  
  13.     status.flags |= Notification.FLAG_ONGOING_EVENT;  
  14.     status.icon = R.drawable.ic_fm_status_bar;  
  15.     status.contentIntent = PendingIntent.getActivity(this0new Intent(this, FMEntryView.class).addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT), 0);  
  16.     startForeground(PLAYBACKSERVICE_STATUS, status);  
  17. }  

删除通知:

  1. /** 
  2.  * delete notification 
  3.  */  
  4. private void deleteNotification()  
  5. {  
  6.     NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);  
  7.     nm.cancel(PLAYBACKSERVICE_STATUS);  
  8.     stopForeground(true);  
  9. }  

第二种显示通知的方法:

  1. public void showNotification(int icon,String tickertext,String title,String content){  
  2.         //设置一个唯一的ID,随便设置   
  3.    
  4.         //Notification管理器   
  5.         Notification notification=new Notification(icon,tickertext,System.currentTimeMillis());  
  6.         //后面的参数分别是显示在顶部通知栏的小图标,小图标旁的文字(短暂显示,自动消失)系统当前时间(不明白这个有什么用)   
  7.         notification.defaults=Notification.DEFAULT_ALL;   
  8.         //这是设置通知是否同时播放声音或振动,声音为Notification.DEFAULT_SOUND   
  9.         //振动为Notification.DEFAULT_VIBRATE;   
  10.         //Light为Notification.DEFAULT_LIGHTS,在我的Milestone上好像没什么反应   
  11.         //全部为Notification.DEFAULT_ALL   
  12.         //如果是振动或者全部,必须在AndroidManifest.xml加入振动权限   
  13.         PendingIntent pt=PendingIntent.getActivity(this0new Intent(this,main.class), 0);  
  14.         //点击通知后的动作,这里是转回main 这个Acticity   
  15.         notification.setLatestEventInfo(this,title,content,pt);  
  16.         nm.notify(notification_id, notification);  
  17.     }  
  18.   //showNotification(R.drawable.home,"图标边的文字","标题","内容");  

删除通知:

  1. nm.cancel(notification_id);  

上面此法别忘了增加权限:

  1. <-permission android:name="android.permission.VIBRATE" /> <!-- 允许振动 -->  

更多Android相关信息见Android 专题页面 http://www.bkjia.com/topicnews.aspx?tid=11

相关内容