清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.76

Aia StoreApp上架指南 .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

AppInventor2离线版中文教育版接入DeepSeek VIP会员 享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档AI2拓展IoT专题

让 AI 幻觉变成现实

查看数: 535 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2026-05-17 11:00

正文摘要:

用户反馈说我们有可控制视频录制的这款拓展,实际上是 AI 幻觉说我们有,当时是真的没有。但是,我们要让 AI 幻觉变成现实,这款拓展已经编码完成,正在测试中 ...

回复

App Inventor 2 发表于 2026-06-24 22:20:01
videorecorder 拓展红米手机仍然息屏:动态伪交互,模拟操作;                       
  检测并提示用户关闭省电     这2个方向如何?                                    

● 两个方向我都仔细评估了一下,结论差别很大:方向1基本是死路,方向2是对的路但只能"引
  导"不能"代劳"。而且在动手之前,我还是想先把那个关键前提说清楚。

  方向1:动态伪交互 / 模拟操作 —— ❌ 不可行,建议放弃

  核心问题:普通 App(扩展)根本碰不到"重置系统息屏计时器"的开关。

  - 真正能阻止息屏的系统调用是 PowerManager.userActivity(...) —— 它需要
  android.permission.DEVICE_POWER(signature|system
  级),普通应用申请不到,调用直接抛 SecurityException。
  - 注入系统输入事件(让系统以为"用户在点屏")需要
  android.permission.INJECT_EVENTS(同样 signature 级);adb shell input tap 要
  shell/root —— 扩展都拿不到。
  - 你能在自己 App 内给自己的 View 派发 MotionEvent、跑个 1px 动画 ——
  但这些不会走到系统的 InputDispatcher,根本不重置息屏计时器(渲染/自派发事件 ≠
  用户活动)。所以"伪交互"在物理上就达不到目的。
  - 退一步:就算能做,也是高耗电、脆弱,而且 MIUI
  恰恰会主动检测并压制这类"假活跃"行为;更关键的是 —— 如果现在
  FLAG_KEEP_SCREEN_ON 都压不住,说明很可能是 MIUI 策略层强行息屏(下面的 B
  类),那连 userActivity 都救不了,伪交互更没用。

  → 这个方向不用花时间了。

  方向2:检测并提示用户关省电 —— ✅ 正确方向,但有边界

  这是应对"MIUI 策略层覆盖"的唯一现实手段。能做 / 不能做要分清:

  能做(都是普通应用合法 API):
  - 判机型:Build.MANUFACTURER/BRAND 含 xiaomi/redmi/poco,或读 ro.miui.ui.version.name → 判定是否 MIUI/HyperOS,只对小米用户弹引导。
  - 查状态:PowerManager.isIgnoringBatteryOptimizations(包名)(API23+)判断是否已被电池优化豁免。
  - 跳设置页引导:最稳的是Settings.ACTION_APPLICATION_DETAILS_SETTINGS(package:包名)→落到"应用详情页",再用文字引导用户开:省电策略=无限制、锁屏显示、自启动。

  不能做(要诚实告诉用户):
  - 没有 API 能替用户把省电关掉 —— 只能"检测 + 跳转 + 文字引导",最后一步必须用户手点。
  - Android 标准的 isIgnoringBatteryOptimizations /
  REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 在 MIUI 上只反映一半:它管的是 Google的电池优化,而真正息屏你的多半是 MIUI自家的"省电策略/锁屏显示/自启动",两者是两套东西。
  - 别硬编码 MIUI 的隐藏设置 Activity(如 com.miui.powerkeeper/...):换版本就
  ActivityNotFound/SecurityException,HyperOS 上很多已封。要做也只能"试 MIUI专属页,失败回退到应用详情页"。

  → 建议形态:加 IsScreenKeepReliable()/IsBatteryOptimized() 查询 +  OpenPowerSettings() 跳转 + 一个一次性引导事件;并在文档写清 MIUI 注意事项。同时把 FLAG_KEEP_SCREEN_ON 做得更硬(焦点变化时重挂)。

© 2026 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

GMT+8, 2026-07-03 10:55 , Processed in 0.033903 second(s), 34 queries .