<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wfstj的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wfstj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wfstj]]></copyright><item><title><![CDATA[android 14获取三方应用的运行状态和电池用量]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/161521638</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/161521638</guid><author>wfstj</author><pubDate>Fri, 29 May 2026 17:50:21 +0800</pubDate><description><![CDATA[【代码】android 14获取三方应用的运行状态和电池用量。]]></description><category></category></item><item><title><![CDATA[Android SystemUI 音频播放监听实现：通过 AudioPlaybackCallback 控制设备休眠]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/159115090</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/159115090</guid><author>wfstj</author><pubDate>Mon, 16 Mar 2026 10:31:00 +0800</pubDate><description><![CDATA[Android SystemUI 音频播放监听实现：通过 AudioPlaybackCallback 控制设备休眠例如：视频播放音乐播放IPTV在线课程如果设备在播放过程中自动休眠，会严重影响用户体验。本文介绍一种。]]></description><category></category></item><item><title><![CDATA[ WindowManagerService 层增加了一套鼠标点击事件日志]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/159016738</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/159016738</guid><author>wfstj</author><pubDate>Fri, 13 Mar 2026 19:04:13 +0800</pubDate><description><![CDATA[Android Framework：通过 WindowManagerService 捕获鼠标点击事件并定位目标窗口在 Android 大屏设备或带鼠标输入的系统中，偶尔会出现一些，例如：点击没有响应点击事件发送到了错误的窗口焦点窗口与实际点击窗口不一致某些应用无法接收鼠标事件为了更方便地定位现网问题，我在，用于记录每次鼠标点击对应的。本文将详细介绍这次修改的实现思路。]]></description><category></category></item><item><title><![CDATA[通过修改 FrameLayout.onMeasure 定制第三方 App 布局 —— Android Framework 实战]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/159005321</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/159005321</guid><author>wfstj</author><pubDate>Fri, 13 Mar 2026 10:42:42 +0800</pubDate><description><![CDATA[本文通过一个实际补丁讲解了：Android View 测量流程作用机制Framework 兼容第三方应用的方法在 QQ音乐 Pad 版中隐藏 search_mic_container View避免布局异常这种方法在Android 车机 / 平板 / TV 定制系统开发中非常常见。如果你是做Android Framework 开发，后续还可以深入研究：ViewRootImpl 测量流程WindowManager 布局机制SystemUI 适配策略这些都是系统定制开发的核心能力。]]></description><category></category></item><item><title><![CDATA[ Toast 被软键盘遮挡的解决方案：自定义 Overlay Toast 实现]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/158960816</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/158960816</guid><author>wfstj</author><pubDate>Thu, 12 Mar 2026 09:28:39 +0800</pubDate><description><![CDATA[下面是一个简单的工具类。核心思路：使用添加一个 View设置 Window 类型为系统 Overlay自动在 2 秒后移除锁屏界面 Toast 无法显示的原因主要是Window 层级问题。使用 WindowManager 创建一个高优先级 Overlay Window 来模拟 Toast。创建 View↓↓设置高优先级 Window 类型↓延时 removeView()通过这种方式可以在锁屏界面稳定地显示提示信息。]]></description><category></category></item><item><title><![CDATA[android系统外接键盘后只关软键盘、保留提示悬浮窗]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/158738128</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/158738128</guid><author>wfstj</author><pubDate>Fri, 06 Mar 2026 15:39:39 +0800</pubDate><description><![CDATA[**不在** `MSG_HARD_KEYBOARD_SWITCH_CHANGED` 里调用 `hideCurrentInputLocked(..., 0x04)`- **IME 窗口变可见**：在 `setImeWindowStatus()` 中检测 `isHardKeyboardAvailable()`- **不在** `setImeWindowStatus()` 里 post 小助手切换消息。- **只隐藏软键盘区域**（`mInputFrame`/`mInputView`）]]></description><category></category></item><item><title><![CDATA[SystemUI添加音频模式切换]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/158612433</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/158612433</guid><author>wfstj</author><pubDate>Tue, 03 Mar 2026 11:13:59 +0800</pubDate><description><![CDATA[震动模式]]></description><category></category></item><item><title><![CDATA[两种禁止Activity启动方式]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/158570896</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/158570896</guid><author>wfstj</author><pubDate>Mon, 02 Mar 2026 10:30:31 +0800</pubDate><description><![CDATA[/ 禁止登录页启动 }]]></description><category></category></item><item><title><![CDATA[WMS隐藏第三方应用的addwindow弹窗]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/158007928</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/158007928</guid><author>wfstj</author><pubDate>Thu, 12 Feb 2026 15:15:26 +0800</pubDate><description><![CDATA[当前顶层应用不是`com.cmss.cloudcomputer.dm`- 应用包名为`com.cmss.cloudcomputer.dm`- 窗口类型为`TYPE_APPLICATION_OVERLAY`- 系统设置`setting_config_my_id`不等于1。]]></description><category></category></item><item><title><![CDATA[android14通过数据库隐藏软键盘]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/157644466</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/157644466</guid><author>wfstj</author><pubDate>Mon, 02 Feb 2026 09:49:33 +0800</pubDate><description><![CDATA[全局生效：从 IMMS 拦截，覆盖面远大于应用侧处理。动态切换：由 HDMI 插拔写 Secure 开关，实现自动进入/退出策略。风险可控：通过做了一道“系统/应用”边界。]]></description><category></category></item><item><title><![CDATA[android14动态屏蔽软键盘]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/157544692</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/157544692</guid><author>wfstj</author><pubDate>Fri, 30 Jan 2026 11:17:34 +0800</pubDate><description><![CDATA[这能覆盖一些“不是直接走 showSoftInput，而是系统根据焦点/输入状态决定显示”的路径，避免漏网。这个判断非常关键：它把影响范围控制在“第三方应用/普通应用 UID”，避免误伤系统关键链路。补丁还加了一层更“底”的防护：当系统准备显示当前输入法时，如果当前焦点窗口所属。”：当外部条件满足（这里是 HDMI 插入 我自己的广播）时，在一些“投屏/车机/电视盒子/会议大屏/云镜像”等场景下，的（系统进程、system_server 等）直接放行。：大屏展示、投屏演示时软键盘会挡住内容。]]></description><category></category></item><item><title><![CDATA[动态赋予三方应用“系统弹窗/悬浮窗”权限补丁]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/157391915</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/157391915</guid><author>wfstj</author><pubDate>Mon, 26 Jan 2026 11:55:20 +0800</pubDate><description><![CDATA[让系统以 system_server 权限去执行 AppOps 修改，避免调用方权限不足导致失败。：该应用显示 overlay 被忽略（实际达成“弹不出来”）通过发送广播（携带包名）触发 allow/deny。默认模式做了一处调整（去掉强制默认允许的改动痕迹）。外部只要发送对应 action 的广播，并带上。：该应用可以显示系统级弹窗（overlay）系统启动后常驻监听，无需额外服务进程。（“在其他应用上层显示”），系统就能执行对应策略。，而是由系统或特定流程。]]></description><category></category></item><item><title><![CDATA[android14自由窗口化启动apk]]></title><link>https://blog.youkuaiyun.com/wfstj/article/details/157391699</link><guid>https://blog.youkuaiyun.com/wfstj/article/details/157391699</guid><author>wfstj</author><pubDate>Mon, 26 Jan 2026 11:50:47 +0800</pubDate><description><![CDATA[在 TV/大屏或定制化 Android 设备上，浏览器往往承担“认证页/Portal 页面打开器”的角色（例如 Wi-Fi 认证跳转、网络面板的登录页等）。很难稳定控制窗口化行为（尤其在定制系统/TV 场景），因此补丁选择在系统服务层（Activity 启动链路）做“有条件”干预。在支持多窗口的设备形态上，更希望浏览器以“浮窗/自由窗口（Freeform）”形式出现，操作完即可关闭。这是补丁的“关键点”：把“窗口化启动”从应用侧不可控，变成系统启动时的强制注入。这两项本质上是“开发者选项”里常见的开关。]]></description><category></category></item></channel></rss>