首页/新闻资讯/正文详情

工控常用系统功能:屏幕亮度控制、休眠关闭、看门狗对接、硬件按键屏蔽

发布时间:2026/11/7 4:07:59 来源:云帆数科 栏目:资讯中心
工控常用系统功能:屏幕亮度控制、休眠关闭、看门狗对接、硬件按键屏蔽
工控常用系统功能屏幕亮度控制、休眠关闭、看门狗对接、硬件按键屏蔽工控安卓和手机安卓最大的区别一个求着你玩一个求你别碰。屏幕不能灭、按键不能按、狗不能饿死——今天咱就把这些反人类需求一次讲透。一、屏幕亮度控制工控设备通常 7x24 无人值守亮度控制不是为了让用户舒服而是为了省电 延长屏幕寿命 夜间降亮避免光污染。1.1 全局亮度调节通过Settings.System修改系统亮度需要WRITE_SETTINGS权限// 检查是否授权if(!Settings.System.canWrite(context)){IntentintentnewIntent(Settings.ACTION_MANAGE_WRITE_SETTINGS);intent.setData(Uri.parse(package:context.getPackageName()));startActivity(intent);}// 设置亮度 (0~255)Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS,128// 半亮);1.2 仅当前 Activity 亮度不需要权限适合局部场景比如扫码页面拉满亮度WindowManager.LayoutParamslpgetWindow().getAttributes();lp.screenBrightness1.0f;// 0.0~1.0-1 恢复系统默认getWindow().setAttributes(lp);注意getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)也能防止屏幕灭但它并不能调节亮度只保持亮着。二、休眠关闭方案工控场景不熄屏是刚需三种方案各有擅场2.1 FLAG_KEEP_SCREEN_ON最简// Activity 中getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);// 或布局中android:keepScreenOntrue缺点仅当前窗口生效切到后台就失效。2.2 修改系统休眠时间// 设为永不休眠注意会修改全局设置Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT,Integer.MAX_VALUE);需要WRITE_SETTINGS权限。不建议设为永久——万一面板烧屏得不偿失。2.3 PowerManager WakeLock持有唤醒锁PowerManagerpm(PowerManager)getSystemService(POWER_SERVICE);PowerManager.WakeLockwlpm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP,MyApp::WakeLockTag);wl.acquire(10*60*1000L);// 10分钟自动释放// 别忘了释放wl.release();需要WAKE_LOCK权限。ACQUIRE_CAUSES_WAKEUP 能在锁屏状态下点亮屏幕。三、看门狗对接硬件看门狗是工控设备的心跳检测器——App 需要定时往 /dev/watchdog 写数据超时未写则设备自动重启。3.1 喂狗原理publicclassWatchDogFeeder{privatestaticfinalStringWDT_DEVICE/dev/watchdog;privateScheduledExecutorServiceexecutor;publicvoidstartFeed(){executorExecutors.newSingleThreadScheduledExecutor();executor.scheduleAtFixedRate(()-{try(FileOutputStreamfosnewFileOutputStream(WDT_DEVICE)){fos.write(1.getBytes());fos.flush();}catch(IOExceptione){// 喂狗失败设备即将重启快速保存关键数据emergencySaveData();}},0,3,TimeUnit.SECONDS);// 每 3 秒喂一次}}核心要点喂狗间隔 看门狗超时时间一般设为超时时间的 1/2用独立线程不能跟采集逻辑挤同一个线程喂狗失败意味着设备要重启必须做最后的应急处理3.2 软看门狗——没硬件时的替代// 监控主线程是否卡死newHandler(Looper.getMainLooper()).postDelayed(()-{// 超时未收到心跳 ANR主动重启 Appandroid.os.Process.killProcess(android.os.Process.myPid());},5000);四、硬件按键屏蔽工控设备的物理按键不能被用户乱按——音量增减重启导航后果不堪设想。4.1 Activity 级拦截OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){switch(keyCode){caseKeyEvent.KEYCODE_VOLUME_UP:caseKeyEvent.KEYCODE_VOLUME_DOWN:caseKeyEvent.KEYCODE_BACK:// 返回键caseKeyEvent.KEYCODE_HOME:// Home键仅部分系统有效returntrue;// 吃掉事件不传递}returnsuper.onKeyDown(keyCode,event);}局限性Home 键、Recent 键在大多数系统中 Activity 层级无法拦截需要系统签名或 framework 修改。4.2 系统级屏蔽frameworks/base!-- frameworks/base/core/res/res/values/config.xml --!-- 禁用导航栏 --boolnameconfig_showNavigationBarfalse/bool!-- 禁用状态栏下拉 --boolnameconfig_enableStatusBarfalse/bool或者在framework-res.apk中修改需要 root 或系统签名。4.3 沉浸模式全屏无状态栏// API 19ViewdecorViewgetWindow().getDecorView();intuiOptionsView.SYSTEM_UI_FLAG_HIDE_NAVIGATION|View.SYSTEM_UI_FLAG_FULLSCREEN|View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;decorView.setSystemUiVisibility(uiOptions);能隐藏导航栏但物理 Home 键还是拦不住。终极方案是改系统源码去掉导航栏。五、其他工控常用功能速查// 设置系统时间需要系统签名或 rootSystemClock.setCurrentTimeMillis(newTimeMillis);// 静音控制AudioManageram(AudioManager)getSystemService(AUDIO_SERVICE);am.setStreamVolume(AudioManager.STREAM_MUSIC,0,0);// WiFi 开关API 29 已废弃直接开关需要引导用户WifiManagerwm(WifiManager)getApplicationContext().getSystemService(WIFI_SERVICE);// API 29 以下wm.setWifiEnabled(true);// API 29 建议用设置面板startActivity(newIntent(Settings.Panel.ACTION_WIFI));六、综合实战代码publicclassIndustrialActivityextendsAppCompatActivity{privatePowerManager.WakeLockwakeLock;OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_industrial);// 1. 屏幕常亮 全屏getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);hideSystemUI();// 2. 设置亮度WindowManager.LayoutParamslpgetWindow().getAttributes();lp.screenBrightness0.8f;getWindow().setAttributes(lp);// 3. 启动喂狗startWatchDog();}privatevoidhideSystemUI(){ViewdecorViewgetWindow().getDecorView();decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION|View.SYSTEM_UI_FLAG_FULLSCREEN);}OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){// 屏蔽音量键和返回键if(keyCodeKeyEvent.KEYCODE_VOLUME_UP||keyCodeKeyEvent.KEYCODE_VOLUME_DOWN||keyCodeKeyEvent.KEYCODE_BACK){returntrue;}returnsuper.onKeyDown(keyCode,event);}OverrideprotectedvoidonDestroy(){super.onDestroy();if(wakeLock!nullwakeLock.isHeld()){wakeLock.release();}stopWatchDog();}}七、权限配置清单uses-permissionandroid:nameandroid.permission.WAKE_LOCK/uses-permissionandroid:nameandroid.permission.WRITE_SETTINGS/uses-permissionandroid:nameandroid.permission.DEVICE_POWER/uses-permissionandroid:nameandroid.permission.CHANGE_WIFI_STATE/工控系统的奇技淫巧归根结底就是一句话把 Android 变成一台专用的嵌入式设备。该关的关掉该锁的锁死剩下的交给看门狗。

相关推荐

B站UP主必备神器:BilibiliUploader让视频投稿效率提升300%
B站UP主必备神器:BilibiliUploader让视频投稿效率提升300%

B站UP主必备神器:BilibiliUploader让视频投稿效率提升300% 【免费下载链接】BilibiliUploader 模拟Bilibili windows投稿客户端 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliUploader 还在为手动上传视频而烦恼吗?每次在B站投稿都要重复… · 2026/10/7 22:53:21

U盘文件秒搜神器Everything配置与实战技巧
U盘文件秒搜神器Everything配置与实战技巧

1. 项目背景与需求解析 作为一名长期与文件管理打交道的技术从业者,我深刻理解快速定位U盘文件的痛点。Windows自带的搜索功能在应对移动存储设备时往往表现乏力,而"Everything"这款轻量级搜索工具恰好能完美解决这个需求。不同于系统原生搜索… · 2026/11/2 0:18:47

OBS面部追踪插件终极指南:免费实现智能人脸跟踪直播
OBS面部追踪插件终极指南:免费实现智能人脸跟踪直播

OBS面部追踪插件终极指南:免费实现智能人脸跟踪直播 【免费下载链接】obs-face-tracker Face tracking plugin for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-face-tracker OBS面部追踪插件是一个功能强大的开源工具,专为OBS … · 2026/10/30 10:02:47

涵江考电工证官方回应怕考不过白交培训费怎么破
涵江考电工证官方回应怕考不过白交培训费怎么破

涵江考电工证官方回应怕考不过白交培训费怎么破 怕考不过白交培训费?这几乎是所有准备考电工证的人都有的顾虑,尤其是像你这样刚毕业的濮阳工程类学生,投入时间、精力和金钱,最后却因为一次考试失败而打水漂,真的让人崩溃。别急,官方回应已经出来了,… · 2026/11/7 4:07:45

电工证到期查询怎么操作?学历不高也能考,含金量不容小觑
电工证到期查询怎么操作?学历不高也能考,含金量不容小觑

电工证到期查询怎么操作?学历不高也能考,含金量不容小觑 学历不高怕报不上名,这是很多想考电工证的学员最担心的问题。其实, 电工证的含金量… · 2026/11/7 4:07:45

电工证 延期 换证模拟考试题库
电工证 延期 换证模拟考试题库

电工证延期换证良心建议:转岗从业者必看的实操指南 你现在缺一个电工证,缺得连面试资格都没了,对吧?别急,我懂你的焦虑。焦作的李师傅就是个典型例子,他之前在煤矿干了十年,现在转岗到建筑工地,结果一查,他的电工证已经过了有效期,连工地的门都进不… · 2026/11/7 4:07:45

甘肃省高压电工证报名怎么转?外省证书含金量还在吗?
甘肃省高压电工证报名怎么转?外省证书含金量还在吗?

甘肃省高压电工证报名怎么转?外省证书含金量还在吗? 之前考的证在外省能不能转过来?这是很多在外地工作的甘肃电工最担心的问题。尤其是像你这样的郑州在职建筑工人,经常要跨省作业,证书能不能随人走,直接关系到你能不能顺利上岗、拿到工资。别急,今天… · 2026/11/7 4:07:45

深圳电工证民治报名有学历门槛?良心建议帮你破局
深圳电工证民治报名有学历门槛?良心建议帮你破局

深圳电工证民治报名有学历门槛?良心建议帮你破局 你是不是也在担心自己学历不高,根本报不了电工证?别急,我来告诉你真相。在深圳民治,电工证报名确实对学历有要求,但这个门槛其实没有你想象的那么高。很多人因为不了解政策,直接放弃,其实只要掌握正确… · 2026/11/7 4:07:45

东台哪里能考电工证真实经历:实操考试心里没底怕挂科怎么办
东台哪里能考电工证真实经历:实操考试心里没底怕挂科怎么办

东台哪里能考电工证真实经历:实操考试心里没底怕挂科怎么办 实操考试心里没底怕挂科,这几乎是每个准备考电工证的学员的共同心声。我自己去年就在东台报名考低压电工证,第一次面对接线、故障排查这些实操项目,手都在抖,怕一步错就全盘皆输。别担心,其实… · 2026/11/7 4:06:45

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄?
澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄?

澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄? 证书过期了不知道怎么复审延期?别慌,很多人在拿到【澳洲水电工证考试】的电子证书后,一不小心就忽略了复审时间,结果证书失效,工作受阻,甚至被单位追责。今天就从【澳洲水电工证考试… · 2026/11/7 0:00:41

电工作业提示版通过率揭秘:怎么考才能一次过?
电工作业提示版通过率揭秘:怎么考才能一次过?

电工作业提示版通过率揭秘:怎么考才能一次过? 怕考不过白交培训费?别急,今天我就从驻马店应届工程类毕业生的视角,带你全面了解电工作业提示版的考试流程、备考要点和真实通过率,帮你少走弯路、提高一次通过率。… · 2026/11/7 0:00:41

电工证年审报名千万别踩坑 外省证转过来要搞清这几点
电工证年审报名千万别踩坑 外省证转过来要搞清这几点

电工证年审报名千万别踩坑 外省证转过来要搞清这几点 之前考的证在外省能不能转过来?这个问题是很多电工从业者最关心的,特别是像你这样在商丘从事公路工程的人员,经常需要跨省流动,证书的 有效性 和 可迁移性… · 2026/11/7 0:00:41

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码