当前位置: 首页 > wzjs >正文

网站设计与网页制作项目教程旅游网站推广方案

网站设计与网页制作项目教程,旅游网站推广方案,类似全民互推的推广平台,公司内部网站管理系统MTK-Android12-13 屏幕永不休眠功能实现 文章目录 需求场景参考资料修改文件简要分析实现方案默认休眠时间设置 def_screen_off_timeout息屏时间添加永不休眠 screen_timeout_entries更新休眠时间 updateUserActivitySummaryLocked 总结 需求 屏幕永不休眠功能 备注&#xff…

MTK-Android12-13 屏幕永不休眠功能实现

文章目录

  • 需求
  • 场景
  • 参考资料
  • 修改文件
    • 简要分析
    • 实现方案
      • 默认休眠时间设置 def_screen_off_timeout
      • 息屏时间添加永不休眠 screen_timeout_entries
      • 更新休眠时间 updateUserActivitySummaryLocked
  • 总结


需求

屏幕永不休眠功能

备注:前面正好讲到过 修改屏幕息屏时间,这里新增一个小的需求,新增屏幕永不休眠选项
在接触的 Android12/13 版本产品,系统默认是没有永不休眠功能的

场景

广告机、商显设备、展示设备 要求屏幕默认常亮或者有永不休眠功能
比如如下在设置选项里面需要有一个永不休眠的选项

在这里插入图片描述

参考资料

MTK-Android12-13 修改默认息屏时间
Android 屏保功能实现
PowerManagerService 进入屏保 updateUserActivitySummaryLocked
PowerManagerService分析-updatePowerStateLocked方法
PowerManagerService之自动灭屏

前面正好涉及到 修改屏幕默认息屏时间、屏保功能定制实现,和当前需求有所关联。 在设置里面更改UI组件、加载 添加的永不休眠功能后,最终是需要再PowerManagerService 里面实现永不休眠功能逻辑的呀。

修改文件

/vendor/mediatek\proprietary/packages/apps/SettingsProvider/res/values/defaults.xml 
/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/arrays.xml
/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/arrays.xml
/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java

简要分析

如上参考资料,特别是之前实现的部分需求 修改息屏默认时间及屏保功能实现,分析如下:

  • defaults.xml 修改默认息屏时间 属性def_screen_off_timeout,可以设置为0 或者 -1
    或者任意你想设置的值 对应永不休眠的值,表示息屏时间默认值。
  • arrays.xml
    修改属性dream_timeout_entries,如修改息屏默认时间分析的内容,系统设置中息屏时间界面加载数据源,那就在这里添加
  • PowerManagerService.java 如屏保功能分析和其它相关资料参考,在更新休眠时间的地方,不让更新即可实现需求

实现方案

默认休眠时间设置 def_screen_off_timeout

这里设置为0 
<integer name="def_screen_off_timeout">0</integer>

息屏时间添加永不休眠 screen_timeout_entries

    <!-- Display settings.  The delay in inactivity before the dream is shown. These are shown in a list dialog. --><string-array name="dream_timeout_entries"><item>Never</item><item>15 seconds</item><item>30 seconds</item><item>1 minute</item><item>2 minutes</item><item>5 minutes</item><item>10 minutes</item><item>30 minutes</item></string-array><string-array name="screen_timeout_entries"><item msgid="8386012403457852396">"15 秒"</item><item msgid="4572123773028439079">"30 秒"</item><item msgid="7016081293774377048">"1 分钟"</item><item msgid="838575533670111144">"2 分钟"</item><item msgid="2693197579676214668">"5 分钟"</item><item msgid="1955784331962974678">"10 分钟"</item><item msgid="5578717731965793584">"30 分钟"</item><item>"永不休眠"</item></string-array>

更新休眠时间 updateUserActivitySummaryLocked

看方法注释,就是用来计算一个系统是否进入dim or bright 的状态

/*** Updates the value of mUserActivitySummary to summarize the user requested* state of the system such as whether the screen should be bright or dim.* Note that user activity is ignored when the system is asleep.** This function must have no other side-effects.*/private void updateUserActivitySummaryLocked(long now, int dirty) {.....}

在这个方法里面,我们来判断当前设置的time 值,来判断是否进行 时间计算就可以了。

  if (mScreenOffTimeoutSetting != 0) {if ((groupUserActivitySummary & USER_ACTIVITY_SCREEN_BRIGHT) != 0&& (mDisplayGroupPowerStateMapper.getWakeLockSummaryLocked(groupId)& WAKE_LOCK_STAY_AWAKE) == 0) {groupNextTimeout = mAttentionDetector.updateUserActivity(groupNextTimeout,screenDimDuration);}hasUserActivitySummary |= groupUserActivitySummary != 0;if (nextTimeout == -1) {nextTimeout = groupNextTimeout;} else if (groupNextTimeout != -1) {nextTimeout = Math.min(nextTimeout, groupNextTimeout);}}else {groupUserActivitySummary |= USER_ACTIVITY_SCREEN_BRIGHT;}mScreenOffTimeoutSetting 是什么,看PowerManagerService 里面变量的声明如下:mScreenOffTimeoutSetting = Settings.System.getIntForUser(resolver,Settings.System.SCREEN_OFF_TIMEOUT, DEFAULT_SCREEN_OFF_TIMEOUT,UserHandle.USER_CURRENT);

总结

  • 这里重点是PMS 在息屏时间上面的一个功能分析
  • 关联到PMS 里面实现的另外一个功能 屏保功能 都是跟息屏相关,部分逻辑业务关联的
  • 对于默认息屏时间,这里属于新增息屏时间选项的一个功能。 如果需要新增其它息屏时间选项,只需要在修改息屏时间源即可 就 不需要修改PMS了。

文章转载自:

http://g6kWIsQr.Lsnnq.cn
http://FVSibVQZ.Lsnnq.cn
http://W4TayyVi.Lsnnq.cn
http://YyKWPphK.Lsnnq.cn
http://Tlqk7g4R.Lsnnq.cn
http://kHokwezr.Lsnnq.cn
http://8feqlIY2.Lsnnq.cn
http://BWOGjs1z.Lsnnq.cn
http://ZZMq7cuc.Lsnnq.cn
http://LhlsRNYP.Lsnnq.cn
http://r2F2JROj.Lsnnq.cn
http://jMnNodML.Lsnnq.cn
http://pEMPNh13.Lsnnq.cn
http://8bBr737N.Lsnnq.cn
http://OQI6wbOC.Lsnnq.cn
http://rYTGGzKv.Lsnnq.cn
http://BlQidS2h.Lsnnq.cn
http://hbfzm4XZ.Lsnnq.cn
http://Dhlway6Z.Lsnnq.cn
http://JkwPJ0tG.Lsnnq.cn
http://noKbuDis.Lsnnq.cn
http://jEoRIGhM.Lsnnq.cn
http://GmdywVBF.Lsnnq.cn
http://5UhYaYIg.Lsnnq.cn
http://J2tXwGWO.Lsnnq.cn
http://XknAShAs.Lsnnq.cn
http://pE3oJsKz.Lsnnq.cn
http://Tr24UYXm.Lsnnq.cn
http://8LZSlAwp.Lsnnq.cn
http://xFeA3ptR.Lsnnq.cn
http://www.dtcms.com/wzjs/738708.html

相关文章:

  • 广州番禺网站建设公司推荐58同城发布免费广告
  • 网站开发团队如何接活相亲网站绑定微信怎么做
  • 织梦生成手机网站小程序游戏排行榜2022
  • 做美容美发学校网站公司海城做网站
  • 能够做冶金工程毕业设计的网站做网站用的编程工具
  • 公司网站是否有必要销售产品做动图的网站知乎
  • 做电商的进货网站古镇企业网站建设
  • 网站可以用中国二字做抬头吗代理网店加盟
  • 网站文章关键字密度宁波黄页网
  • 织梦文章类网站模板做一个商务平台网站的费用
  • 门户网站建设的请示平面设计公司简介怎么写
  • 福田做网站优化乐云seo高端自适应网站开发
  • 记事本做网站怎么改字体网站设计的收费
  • 网站维护 推广外贸网站平台
  • 东莞做购物网站入门网站分析应该怎么做
  • 网站建设实践报告3000字计算机类十大含金量证书
  • 滕建建设集团网站哈尔滨网站建设价格
  • 网站建设公司河南郑州应用软件商店下载
  • 上海网站制作团队微信号 网站模板
  • 家电照明电子通用网站模板网站tag设计
  • 商城网站备案能通过吗建设部考试网站
  • 如何建购物网站重庆网站空间键词排名
  • 如何创建网站的二维码网站推广软件下载安装免费
  • 建设个网站要多少钱仕德伟做的网站
  • 搭建网上商城湖南网站优化外包费用
  • 做特卖网站有哪些浙江建站优化品牌
  • 建设网站属于什么费用做一页简单的h5多少钱
  • 网站建设调查表南京百度快速排名优化
  • 成都网站建设 哪家比较好建设银行信用卡中心
  • 模仿茶叶的网站制作网站建设优化公司哪家好