您的位置:首页 > 移动开发 > Android开发

android通知的基本构造方法。

2017-11-21 10:22 190 查看
/**
* 通知推送
* 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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android android studio