通知推送 Notification

常用API详解

// 设置通知是否自动清除,若为true,则点击通知后,通知会自动小事;若为false,则点击通知后,通知不会消失
setAutoCancel(boolean autoCancel)

// 设置推送时间
setWhen(long when)

// 设置是否显示推送时间
setShowWhen(boolean show)

// 设置是否显示计数器
setUsesChronometer(boolean b)

// 设置状态栏里面的图标 小图标
setSmallIcon(int icon)
setSmallIcon(int icon, int level)
setSmallIcon(Icon icon)

// 设置状态栏提示文本
setTicker(CharSequence tickerText)
setTicker(CharSequence tickerText, RemoteViews views)

// 设置状态栏里面的图标 大图标
setLargeIcon(Bitmap b)
setLargeIcon(Icon icon)

// 设置状态栏里面的标题文本
setContentTitle(CharSequence title)
setContentText(CharSequence text)

// 设置通知栏里面的内容文本
setContentText(CharSequence text)


// 设置通知栏里面的附加说明文本
setSubText(CharSequence text)

// 设置进图条与当前进度
setProgress(int max, int progress, boolean indeterminate)

// 设置通知栏右下方的数字,可以setProgress联合使用,表示当前的进度数值
setNumber(int number)

// 设置通知栏右下方的文本
setContentInfo(CharSequence info)

// 设置内容的延迟意图 PendingIntent,在点击通知是触发该意图。
setContentIntent(PendingIntent intent)


// 设置删除的延迟意图 PendingIntent,在滑掉通知是触发该意图。
setDeleteIntent(PendingIntent intent)

// 构建方法
build()

简单消息

  1. setSmallIcon 方法必须调用,否则不会显示通知消息
  2. setSubText 与 setProgress 两个方法同时只能调用其一,因为附加说明与进度条都位于标题的下方
 private fun sendSimpleNotify(title:String, message:String){
        
        // 声明一个点击通知消息时触发的动作意图
        val clickIntent = intentFor<ProgressBarActivity>()
        val piClick = PendingIntent.getActivity(this,
        R.string.app_name,clickIntent,PendingIntent.FLAG_UPDATE_CURRENT)
        
        // 构建通知
        val notification =   Notification
            .Builder(this,resources.getString(R.string.notify_id))
            .setContentIntent(piClick)
            .setAutoCancel(true)
            .setSmallIcon(R.drawable.default_icon)
            .setSubText("副本")
            .setTicker("简单消息")
            .setWhen(System.currentTimeMillis())
            .setLargeIcon(BitmapFactory.decodeResource(resources,R.drawable.icon_default_header))
            .setContentTitle(title)
            .setContentText(message)
            .build()
        
        val manager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
        
        // 发送通知
        manager.notify(R.string.app_name,notification)
    }

 

计时消息

  1. setWhen 与 setUsesChronometer 两个方法同时只能调用其一
  2. setNumber 与 setContentInfo 同时只能调用其一

 

private fun sendCounterNotify(title:String, message:String){

        // 声明一个点击通知消息时触发的动作意图
        val clickIntent = intentFor<ProgressBarActivity>()
        val piClick = PendingIntent.getActivity(this,
        R.string.app_name,clickIntent,PendingIntent.FLAG_UPDATE_CURRENT)

        // 构建通知
        val notification =   Notification
            .Builder(this,resources.getString(R.string.notify_id))
            .setDeleteIntent(piClick)
            .setAutoCancel(true)
            .setUsesChronometer(true)
            .setProgress(100,60,false)
            .setNumber(99)
            .setSmallIcon(R.drawable.default_icon)
            .setTicker("简单消息")
            .setLargeIcon(BitmapFactory.decodeResource(resources,R.drawable.icon_default_header))
            .setContentTitle(title)
            .setContentText(message)
            .build()

        val manager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager

        // 发送通知
        manager.notify(R.string.app_name,notification)
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值