# 更新日志 > 包名:`com.iptv807.tv` | Android 5.0+ > 每个版本的 APK 都在 [`apk/`](apk/) 目录与 [Releases](../../releases) 中保留。 --- ## v9.3.0(2026-10-08)→ ✨新功能 - ✨ **接入安装统计**:启动时调用 `POST /api/public/installations/check-update` 完成安装登记与在线上报(返回 `install_id`) - ✨ **接入版本推送**:同一请求同时返回 `update_available / latest_version / download_url / file_size / changelog / min_client_version / is_force` - ✨ 发现新版本时弹出更新提示(版本号、当前版本、文件大小、更新说明;强制更新额外提示),走系统 `DownloadManager` 下载并在完成后自动拉起安装 - ✨ 每 10 分钟心跳 `POST /api/public/installations/heartbeat`,更新"最后上线"时间 - ✨ 设置页新增「版本更新」区块:显示安装上报结果与 `install_id`,可手动「检查更新」 - 🔧 接入服务端:`https://auth.88531.cn`,请求头 `X-Api-Key`;文档见 `auth.88531.cn/#/docs` - 🔧 新增权限:`REQUEST_INSTALL_PACKAGES`、`POST_NOTIFICATIONS` ## v9.2.0(2026-10-08)→ ✨新功能 / 🐛修复 - 🐛 从设置页或桌面返回时,直接**重连当前流**(不再依赖 `play()`,避免画面定格) - ✨「▶ 继续播放」按钮改为强制重连同一路流,恢复更快更可靠 ## v9.1.0(2026-10-08)→ 🐛修复 - **修复切台看不到「正在加载」和计时**:切台时旧频道仍在播放,它一有缓冲波动就触发播放回调,把刚弹出的加载遮罩立刻隐藏了(经常一闪而过甚至看不到) - 加 `awaitingStart` 标记:**只有这次要播的新频道真正起播**才收起加载提示,旧频道的回调不再影响 - 加载遮罩显示时 `bringToFront()`,保证不被其它浮层挡住 ## v9.0.0(2026-10-08) - **修复设置页/商店页看不到选中项**:原来用 `setBackgroundColor` 给按钮设固定底色,把系统自带的焦点高亮覆盖掉了 - 所有可操作项改为**获得焦点即变蓝**(StateListDrawable):卡密输入框、激活、支付成为会员、开机自启动开关 - 商店页同样处理,并改为**遥控手动导航**:上下选套餐、左右切支付宝/微信、OK 购买;选中的套餐行蓝底 - 设置页内容变长,加了滚动容器,下面被挡住的项也能滚到 ## v8.9.0(2026-10-08) - **修复「换不了台」**:上一版把方向/确认键交给系统焦点处理,在部分电视盒子上焦点根本进不了列表 → 按键全部空转 - 改为**完全手动的选择模型**:高亮由 App 自己画(选中行蓝底白字),上下移动、左右切列、OK 确认全部由按键逻辑直接处理,**不再依赖系统焦点机制** - 面板打开时吞掉其它按键,避免误触发换台;分组列上下移动时确认才会切换("⚙ 设置"停在上面不误进) - 上下移动频道时会顺手预取那一行的源 ## v8.8.0(2026-10-08) - **实测源站瓶颈**:`m.iptv807.com` 抓播放页需 1~7 秒,且失败率约 50%(半路断连/超时);token **与频道绑定**(换频道 id 复用同一 token 返回 404),所以每次切到没打开过的频道都必须抓一次源 - **修复"切台反而接不了"**:解析原用全局锁,后台预取占锁时用户切台要排队 → 改为**每频道独立锁** - 缓存有效期 8 分钟 → **30 分钟**(已打开过的频道切回秒开) - 预取从「整组抓」改为「只抓当前高亮的那一个频道」(1.2 秒去抖动),不再压垮源站 - 全部线路失败时**自动强制刷新源再试一轮**(应对缓存 token 过期) - 加载提示显示频道名:`正在加载「TVB翡翠台」3 秒…` ## v8.7.0(2026-10-08) - **修复退出没有提示**:`AlertDialog` 在电视的全屏主题下创建失败(异常被兜底逻辑吞掉 → 直接退出、无提示) - 退出确认改为**App 内自绘弹层**:半透明遮罩 + 卡片 + 「取消 / 退出」两个按钮,不依赖系统对话框主题 - 按钮有焦点高亮(获得焦点变蓝),默认焦点放在「取消」上防误触;返回键 = 取消 ## v8.6.0(2026-10-08) - **修复遥控器无法在选台面板操作**:原因是面板打开时把方向键/确认键全拦截了,焦点根本进不了列表 - 面板打开后只接管 返回 / MENU(收藏),**方向键与确认键全部交给列表自己处理** - 频道列表与分组列表加**蓝色焦点高亮**(方向键经过的行变蓝),按 OK 即播放 - 打开面板时焦点自动进入频道列表并定位到当前频道;选中分组后焦点自动跳到频道列表 - 列表行改为白色文字、透明底(原来系统默认样式在暗色主题下几乎看不出选中) ## v8.5.0(2026-10-08) - **测试卡密:`88531`** —— 在设置页「卡密激活」输入即可,直接永久授权(本地判定,不走服务器),显示「测试卡:永久有效」 - 可用于测试购买/时长逻辑,正式卡密流程不受影响 ## v8.4.0(2026-10-08) - 设置页新增「卡密激活」:输入框 + 激活按钮,验证通过后立即写会员状态 - 从设置返回播放页立即生效(onResume 重新读取会员状态),无需重启 - 激活链路已实测:生成月卡 → `/api/public/verify` 返回 valid / 月卡 / 30 天 / 到期时间 ## v8.3.0(2026-10-08) - **切台提速**:去掉切台前逐条线路预探测(原最大拖累,每条最长等 4 秒),改为直接开播 + 失败自动换线 - 起播缓冲调小(适配直播流):`setBufferDurationsMs(1500, 12000, 500, 1000)` - 打开选台面板时后台预取该组频道源,切台秒开 - 加载提示带实时计时:`正在加载 N 秒,精彩继续…`(一直走到出画面) - 播放期间屏幕常亮(FLAG_KEEP_SCREEN_ON) ## v8.2.0(2026-10-08) - 连滑两次退出前弹窗确认(退出 / 取消) ## v8.1.0(2026-10-08) - 连续滑动两次完全退出 App(1.5 秒内两次,位移>120px/0.8s 内判定);第一次滑动提示「再滑动一次退出应用」 ## v8.0.0(2026-10-08) - 修复从桌面返回画面卡住:`onResume` 自动续播 + 屏幕中央「▶ 继续播放」按钮(遥控 OK 可点,重连当前频道) ## v7.9.0(2026-10-08) - **修复套餐列表空白**:接口不返回 `status` 字段,原代码 `optInt("status")==1` 把 4 个套餐全过滤掉 - 套餐按天数排序;无套餐时给出提示 - 已验证下单链路:card-types → orders → orders/query 全部正常 ## v7.8.0(2026-10-08) - 抓源加 3 次重试(15s 连接 / 20s 读取),抗网络抖动 - 失败自动重连(网络波动,正在重试 n/3)+ 内存/磁盘双缓存兜底 - 缓存线路全失效时自动强制刷新源 ## v7.7.0(2026-10-08) - 加载提示文案改为「正在加载,精彩继续…」 ## v7.6.0(2026-10-08) - 按需求去掉加载计时(v8.3.0 已按要求加回) ## v7.5.0(2026-10-08) - 加载计时不再 12 秒后冻结成固定文字 - 修复右上角「今日免費」计时不走动(无人累计用量) ## v7.4.0(2026-10-08) - 失败画面信息全开:版本号 + 逐条线路实测状态码 + token 片段 - 播放错误 2004 = HTTP 状态码错误(非网络不通),用于区分故障类型 ## v7.3.0(2026-10-08)★ 播放关键修复 - **真根因**:混淆块里 `xx = yy` 复制语句导致取「第 2 个 32 位值」正好等于密钥 → 旧 token 替换失败 → 地址留着过期 token → 全部 404 - 改为取「第一个不等于密钥」的值 + token 兜底替换 - 解释了「台少时能播」:那是编译期写死的地址,不是运行时解析 ## v7.2.0(2026-10-08) - 默认播放 TVB翡翠台 - 启动自检显示解析/拉流状态 ## v7.1.0(2026-10-08) - 去掉解密结果多做的一步 URLDecoder(把 `%2B` 解成 `+` → 服务端当空格 → 404) - 去掉右上角「原生模式」标签 ## v7.0.0(2026-10-08) - 彻底删除网页兜底(按要求纯原生化) - 打开即播,不再弹套餐/卡密页 - 设置移到分组列表第一项(显眼位置) ## v7.0.1 / v6.x / v5.x / v4.x / v3.x / v2.x / v1.x > 早期版本(IPTV807-TV-v1.0.0 起至 v6.1.1)在与新版本交替时已被删除, > 当时项目无 git 历史与备份,**无法恢复**。自 v8.3.0 起不再删除任何版本。