博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前台Service通知栏进度更新解决Android8.0 Notification不显示问题
阅读量:6008 次
发布时间:2019-06-20

本文共 1916 字,大约阅读时间需要 6 分钟。

hot3.png

1.通知栏常驻, 确保Service为前台进程, 防止服务被杀死

2.使用标准的通知栏样式

notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {    LogUtil.d(TAG, "onStartCommand");    final Integer notificationID = 100;    //Set notification information:    final NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getApplicationContext(), NOTIFICATION_CHANNEL);    notificationBuilder.setOngoing(true)            .setSmallIcon(R.drawable.ic_launcher_round)            .setContentTitle("小米视频")            .setContentText("甄嬛传,老男孩等下载中")            .setProgress(100, 0, false);    //Send the notification:    final Notification notification = notificationBuilder.build();    startForeground(notificationID, notification);    UIThread.uiPost(new Runnable() {        @Override        public void run() {            if (progress == 100) {                stopForeground(true);                return;            }            notificationBuilder.setProgress(100, progress++, false);            Notification notification = notificationBuilder.build();            notificationManager.notify(notificationID, notification);            UIThread.uiPost(this,100);        }    }, 100);    return START_STICKY;}

解决Android O (8.0)通知栏不显示问题, 需要为NotificationManager设置NotificationChannel

/** * 8.0以上需要增加channel */@RequiresApi(Build.VERSION_CODES.O)private fun createChannelIfNeeded() {    if (Build.VERSION.SDK_INT >= 26) {        val channel = NotificationChannel(NOTIFICATION_CHANNEL, "小米视频", NotificationManager.IMPORTANCE_LOW)        channel.description = "下载"        channel.enableLights(false)        channel.enableVibration(false)        //channel.importance = NotificationManager.IMPORTANCE_LOW //设置为low, 通知栏不会有声音        mNotificationManager.createNotificationChannel(channel)    }}

转载于:https://my.oschina.net/sfshine/blog/1791112

你可能感兴趣的文章
[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(二)
查看>>
PowerDesigner中NAME和COMMENT的互相转换,需要执行语句
查看>>
如何用CRegKey类来操作注册表
查看>>
图片裁剪 PhotoCropper
查看>>
UML类图
查看>>
在手机上玩魔兽争霸2
查看>>
Node.js 向一个文件添加内容
查看>>
sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY
查看>>
ASP.NET 中设置路径的三种方式
查看>>
EBS使用 Distributed AD在多个节点并行adpatch
查看>>
windows添加和删除服务
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
关于云栖,有点无语的几个地方,管理能不能管?
查看>>
Windows线程的同步与互斥
查看>>
iOS:百度长语音识别具体的封装:识别、播放、进度刷新
查看>>
内核随记(三)--同步(1)【转】
查看>>
C#进阶系列——MEF实现设计上的“松耦合”(四):构造函数注入
查看>>
MP3是什么
查看>>
AngularJs ng-change事件/指令(转)
查看>>
谈谈设计模式~原型模式(Prototype)
查看>>