安卓提示框、对话框、通知栏专题-通知栏

作者:vkvi 来源:ITPOW(原创) 日期:2016-8-20

(此文是在 Visual Studio Xamarin 中的代码)

通知类

SetSmallIcon:顶部状态栏的图标

SetLargeIcon:拉下来后显示通知时,通知左边的图标,必须指定。受不了的是其参数类型和 SetSmallIcon 不一样,名称和功能如此一致,竟然参数类型不一致。

SetTicker:顶部状态栏的文字,比如“你有 1 条新消息”,但是不是所有手机都会显示。

SetContentTitle:如果名称用 SetTitle 更好理解。

SetContentText:如果名称用 SetContent 更好理解。

SetSubText:如果名称用 SetSubContent 更好理解。

SetNumber:通知栏右下角显示的通知数。

SetWhen:在通知栏右上角显示这个通知是什么时候发出的,这个时间是 1970 年 1 月 1 日过后经过的毫秒数,比如:3600 * 24 * 1000 就是指 1970 年 1 月 2 日。没啥用。

SetProgress:显示一个进度条,像流量监控、音乐播放都有进度条。如果最后一个参数为 true,则进度条会动起来。

SetDefaults:这命名我也是醉了。设置提醒方式:声音、震动、光,三种可选,当然“光”这个东西,有些手机不听代码使唤。

SetOngoing:如果为 true,就不能通过左滑、右滑让通知消失,像音乐播放就是这种效果。

SetAutoCancel:点击通知后通知是否消失(后面还会提到)。

以上设置,除了用方法可以设置,有的也可以用属性设置。

C# 程序员肯定非常不适应安卓这种起名太随意的习惯。

让通知显示出来

以上虽然定义了通知类,但没显示出来。

Notify 中的 1 是随便起的,后面会用到。

删除通知

Cancel 中的 1 就是 Notify 中的 1。

如果我们不是 Cancel,而是继续 Notify,第一个值仍然写 1,那么新通知就会替换掉前一次的通知。

动作

前面虽然显示了通知,但是点击通知没有任何动作,而且 SetAutoCancel 似乎也没有用,这就是因为我们没有指定动作造成的。

Intent 构造函数的参数指示点击通知后要跳转的 Activity。

PendingIntent.GetActivity 第二个参数没用了,随便写。

PendingIntentFlags.CancelCurrent 表示只有最后一次 PendingIntent 有效,之前的都无效了。

ContentIntent 它的类型并不是 Intent,而是 PendingIntent。

相关文章