android Notification显示通知的两种方法

来源:互联网 发布:cst电磁仿真软件下载 编辑:程序博客网 时间:2024/05/17 22:19

第一种显示通知的方法:

/** * notification *  * @param id */private void showNotification(){RemoteViews views = new RemoteViews(getPackageName(), R.layout.statusbar);views.setImageViewResource(R.id.icon, R.drawable.fm_icon);views.setTextViewText(R.id.fm_run, getString(R.string.fm_run));Notification status = new Notification();status.contentView = views;status.flags |= Notification.FLAG_ONGOING_EVENT;status.icon = R.drawable.ic_fm_status_bar;status.contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, FMEntryView.class).addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT), 0);startForeground(PLAYBACKSERVICE_STATUS, status);}

删除通知:

/** * delete notification */private void deleteNotification(){NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);nm.cancel(PLAYBACKSERVICE_STATUS);stopForeground(true);}

第二种显示通知的方法:

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

删除通知:

nm.cancel(notification_id);

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

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

 

原创粉丝点击