通知栏各种玩法

  • 通知栏各种玩法
    • NotificationSample
    • SimpleNotificationDemo
    • CustomNotificationDemo
    • 知识点
      • Notification
        • flag
        • default
      • NotificationManager
      • NotificationCompatBuilder
      • PendingIntent
      • RemoteViews

NotificationSample

网上各种玩法的demo

SimpleNotificationDemo

简单的通知实现

CustomNotificationDemo

自定义通知栏demo,实现自定义view与动态更新通知内容

知识点

Notification

  • notification.bigContentView = view;这么做可以自定义通知的高度,但最大为200,最小为普通通知高度。如果使用builder的话,此处view与builder的一致。

flag

  • FLAG_AUTO_CANCEL用户点击时消失
  • FLAG_FOREGROUND_SERVICE表示正在运行一个服务
  • FLAG_INSISTENT通知铃声会重复响直到通知被取消或通知窗口被打开
  • FLAG_NO_CLEAR当用户点击清除所有时该通知不被清除
  • FLAG_ONGOING_EVENT该通知被正在运行的事件所引用(比如正在通话)
  • FLAG_ONLY_ALERT_ONCE该通知仅首次发送时震动或播放通知铃声,之前发送的该通知未取消的情况下
  • FLAG_SHOW_LIGHTS发送该通知时打开呼吸灯

default

  • DEFAULT_SOUND使用默认通知声音
  • DEFAULT_VIBRATE使用默认震动效果
  • DEFAULT_LIGHTS使用默认通知呼吸灯
  • DEFAULT_ALL全部使用默认

NotificationManager

NotificationCompat.Builder

  • setAutoCancel(boolean autoCancel)是否用户点击后消失
  • setContent(RemoteViews views)自定义通知的view
  • setContentInfo(CharSequence info)显示在右边的文本(时间下面)
  • setNumber(int number)显示在右边的数字(时间下面,如果调用了setContentInfo,则此设置不生效)
  • setContentIntent(PendingIntent intent)设置点击通知后的intent
  • setDeleteIntent(PendingIntent intent)设置用户直接移除该通知后的intent
  • setFullScreenIntent(PendingIntent intent, boolean highPriority)An intent to launch instead of posting the notification to the status bar
  • setLargeIcon(Bitmap icon)显示在通知栏的icon
  • setSmallIcon (int icon, int level)显示在通知栏的icon,尺寸较小
  • setContentTitle(CharSequence title)通知标题,icon的右边上部
  • setContentText(CharSequence text)通知文本,icon的右边下部
  • setLights(int argb, int onMs, int offMs)设置呼吸灯,依次为argb色值,亮起持续毫秒数,熄灭持续毫秒数
  • setOngoing(boolean ongoing)如果是正在进行中的通知,则不能被移除
  • setOnlyAlertOnce(boolean onlyAlertOnce)如果该通知正在显示,则再发通知不会触发铃声,震动,ticker
  • setPriority(int pri)优先级
  • setProgress(int max, int progress, boolean indeterminate)进度
  • setSound (Uri sound)通知铃声Uri,在默认音频流播放
  • setSound (Uri sound, int streamType)通知铃声Uri,在指定音频流播放
  • setStyle (NotificationCompat.Style style)设置通知样式
  • setSubText (CharSequence text)设置第三行文本(与progress冲突)
  • setTicker (CharSequence tickerText, RemoteViews views)发通知时在系统栏显示的文本和view
  • setTicker (CharSequence tickerText)发通知时在系统栏显示的文本
  • setUsesChronometer (boolean b)显示自动计时器
  • setVibrate (long[] pattern)设置震动效果
  • setWhen (long when)设置通知发送时间
  • addAction (int icon, CharSequence title, PendingIntent intent)在底部扩展一块位置显示这个按钮,最多三个

PendingIntent

  • 对intent的包装
  • pendingintent可以保存创建intent时的context,即使当时的context不存在了,也能从pendingintent里的context执行intent。
  • getActivity()封装打开一个activity的intent,就像Context.startActivity()
  • getActivitys()封装打开一组activity的intent
  • getBroadcast()封装一个发广播的intent,就像Context.sendBroadcast()
  • getService()封装一个开启服务的intent,就像Context.startService()

RemoteViews

  • 非UI线程
  • 从layout文件进行inflate:new RemoteViews(packageName,R.layout.filename)
  • 提供修改子view的简单方法:remoteViews.setTextViewText(R.id.view_name, "string");

更多相关文章

  1. android 跳转到应用通知设置界面
  2. Android 状态栏通知Notification
  3. android 通知Notification的使用小实例(振动,灯光,声音)
  4. Android 本地推送消息到通知栏 NotificationManager 、注册Andro
  5. 拦截短信,不让系统发通知
  6. Android Wear Preview- 归档通知(Stacking Notifications)
  7. android:versionCode和android:versionName 用途(转) App自动更
  8. Android通知的基本用法
  9. android 跳转到应用通知设置界面(Android 8.0以上)

随机推荐

  1. Android通用生命周期
  2. Android的定位策略
  3. cocos2d-x打开网页android与ios平台
  4. android2.1获得联系人信息+Android 获取
  5. android sdk content loader 加载很慢的
  6. Android 日历控件WeekCalendar
  7. android设置eclipse中的自动提示功能
  8. Android防微信表情功能
  9. android截图事件监听
  10. Android:QQ分享、微信分享、朋友圈分享(不