Android Q 来通知后实现亮屏功能

本文介绍了在Android Q系统中,当收到新通知时如何实现屏幕亮屏的功能。通过修改`NotificationManagerService.java`文件,在`enqueueNotificationInternal()`函数末尾添加代码获取电源管理器并创建唤醒锁,确保新通知到来时亮屏。同时,为了避免某些特定类型的通知(如下载进度通知)反复亮屏,进行了条件判断。然而,原有的实现方式在CTS测试中未能通过,于是调整了`config.xml`文件中的配置参数,以确保在屏幕关闭后仍能正确触发亮屏效果。
摘要由CSDN通过智能技术生成

最近实现来通知后亮屏

修改代码:

NotificationManagerService.java

 

在函数enqueueNotificationInternal()最后添加

 

        /*Begin: add for wake screen then new notification, 202009*/
        PowerManager pm = (PowerManager) getContext().getSystemService(Context.POWER_SERVICE);
        PowerManager.WakeLock wl = pm.newWakeLock((PowerManager.ACQUIRE_CAUSES_WAKEUP
                | PowerManager.SCREEN_BRIGHT_WAKE_LOCK), "Notification");
        final StatusBarNotification sn = r.sbn;
        NotificationRecord old = mNotificationsByKey.get(sn.getKey());
        if (old != null) {//此处判断的作用是防止下载的通知一直不停的亮屏
            //status update //进度条的通知不亮屏
        } else {
            //status new //新通知时亮屏
            wl.acquire();
        }
        /*End: add for wake screen then new notification, 202009*/

        mHandler.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值