android通知的基本构造方法。

来源:互联网 发布:网络虚拟人物 编辑:程序博客网 时间:2024/06/07 02:51
/** * 通知推送 * setWhen:设置推送时间,格式为"小时:分钟"。推送时间在通知栏右方显示 * setShowWhen:设置是否显示推送时间。 * setUsesChronometer:设置是否显示计数器。为true时不显示推送时间,动态显示从通知被推送到当前的时间间隔,以“分钟:秒钟”格式显示。 * setSmallIcon:设置状态栏里面的图标(小图标) * setTicker:设置状态栏里面的提示文本。 * setLargeIcon:设置通知栏里面的图标(大图标) * setContentTitle:设置通知栏里面的内容文本 * setSubText:设置通知栏里面的附加说明文本,位于内容文本的下方。若调用该方法,则setParogress的设置失效。 * setProgress:设置进度条与当前进度。进度条位于标题文本与内容文本中间。 * setNumber:设置通知栏右下方的数字,可与setProgress联合使用,表示当前的进度数值。 * setContentInfo:设置通知栏右下方的文本。若调用该方法,则setNumber的设置失效。 * setContentIntent:设置内容的延迟意图PendingIntent,点击该通知时触发该意图。通常调用PendingIntent的getActivity方法获得延迟意图,getActivity表示点击后跳转到该页面。 * setDeleteIntent:设置删除的延迟意图PendingIntent,滑掉该通知时触发该动作。 * setAutoCancel:设置该通知是否自动清除。若为true,则点击该通知后,通知会自动消失,若为false,则点击该通知后,通知不会消失。 * setContent:设置一个定制的通知栏视图RemoteViews,用于取代Builder的默认视图模板。 * build:构建方法。在以上参数都设置完毕后,调用该方法返回Notification对象。 * * * 注意事项:(1)setSmallIcon方法必须要调用,否则不会显示通知消息。 *           (2)setWhen与setUsesChronometer同时只能调用其中一个,即推送时间与计数器无法同时显示,因为它们都位于通知栏右边。 *           (3)setSubText与setProgress同时只能调用其中一个,因为附加说明与进度条都位于标题文本下方。 *           (4)setNumber与setContentInfo同时只能调用其中一个,因为计数值与提示都位于通知栏右下方。 * *           使用Notification 只能生成通知内容,实际推送动作还需借助系统的通知服务实现。NotificationManager是系统通知服务的管理类。 *           notify:推送指定消息到通知栏 *           cancel:取消指定消息。调用该方法后,通知栏中的指定消息将消失。 *           cancelAll:取消所有消息。 * *附加小案例 * */
private void sendNotify(String title, String message) {    Intent clickIntent = new Intent(this, MainActivity.class);    PendingIntent contentIntent = PendingIntent.getActivity(this, R.string.app_name, clickIntent, PendingIntent.FLAG_UPDATE_CURRENT);    Notification.Builder builder = new Notification.Builder(this);    builder.setContentIntent(contentIntent)            .setAutoCancel(true).setSmallIcon(R.mipmap.ic_launcher)            .setTicker("提示消息来了").setWhen(System.currentTimeMillis())            .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))            .setContentTitle(title).setContentText(message);    Notification notify = builder.build();    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);    notificationManager.notify(R.string.app_name,notify);




原创粉丝点击