---
title: 控制台、懸浮窗與螢幕保護
description: Android 宿主的頁面結構、全局懸浮面板、防燒屏螢幕保護、桌面小組件、保活策略與日誌匯出。
updated: 2026-10-20
---

# 控制台、懸浮窗與螢幕保護

Android 宿主把「控制」和「顯示」分開了：控制台負責配置，懸浮窗負責隨手操作，螢幕保護負責在不看螢幕時省電與防燒屏。

## <DocIcon name="map" /> 頁面

![Android 設定頁（深色）](/img/android-settings-dark.jpg)

<Figure caption="設定頁：外觀、下載源、權限、保活與螢幕保護開關。截圖來自 Android 倉庫。" />

| 頁面 | 內容 |
| --- | --- |
| 主頁 | Runtime 狀態、部署進度、啟動/停止、遠端綁定入口 |
| 掛機 | 虛擬螢幕畫面、實例選擇、任務開始/停止 |
| 控制台 | 內嵌 WebUI（與桌面版同一前端） |
| 日誌 | 宿主 / Runtime / 特權服務三路日誌 |
| 設定 | 外觀、下載源、執行與安全、保活、螢幕保護、關於 |

主頁右上角的綁定按鈕可以直接進入遠端 AP 配對，不需要先部署本機 Runtime。

## <DocIcon name="monitor" /> 懸浮窗

基於 FloatingX 的全局浮窗，在任意應用或桌面之上可用：

| 操作 | 效果 |
| --- | --- |
| 單擊 | 展開/收起面板 |
| 啟動 / 停止 | 控制當前實例 |
| 佇列 | 查看排程佇列與當前任務 |
| 切換實例 | 在多實例間切換目標 |
| 日誌 | 實時滾動最近的執行日誌 |

懸浮窗是獨立 Window，讀不到 Activity 的 `Configuration` 或 `ViewModelStore`。它通過 `AppThemeState` 與 `OverlayController` 獲取狀態，所以主題切換後浮窗會跟著變，但不會共享頁面的臨時狀態。

::: tip 懸浮窗不顯示
檢查「懸浮窗」權限是否授予。部分廠商 ROM 還有單獨的「後臺彈出介面」開關。
:::

## <DocIcon name="eye" /> 螢幕保護（防燒屏）

後臺掛機時螢幕長期點亮，OLED 設備有燒屏風險。螢幕保護提供：

| 行為 | 參數 |
| --- | --- |
| 背景 | 黑色低亮度 |
| 進入方式 | 手動開啟，或任務啟動時自動進入 |
| 漂移 | 無操作 30 秒後，每 10 秒上下移動 16dp |
| 退出 | 向右拖動解鎖條到末端並鬆手 |

漂移是週期性小幅位移，不會影響遊戲畫面（螢幕保護覆蓋在虛擬螢幕之上，遊戲仍在後臺執行）。LCD 設備同樣可用，只是收益不如 OLED 明顯。

## <DocIcon name="box" /> 桌面小組件

支援 Glance / RemoteViews 小組件，可顯示執行狀態並快速啟停。

部分舊版廠商系統不能可靠解析 `?attr` 矢量著色與 `cornerRadius`，因此小組件使用顯式 drawable 資源，不依賴主題屬性。

## <DocIcon name="zap" /> 保活

後臺掛機最大的敵人是系統省電策略。宿主提供三層：

1. **前臺服務**：Runtime 或虛擬螢幕活躍時保處理程序，通知欄常駐。
2. **多路徑保活**：`KeepAliveManager` 按設定啟用多條路徑，可重複啟停，設定開關是最終裁決。
3. **電池最佳化白名單**：需要你手動授權。

建議同時設定：

- 系統設定 → 電池 → 應用 → AzurPilot → 不受限制。
- 廠商的「自啟動」「後臺執行」白名單。
- 關閉「省電模式」對後臺的限制。

::: warning 保活不是萬能的
部分 ROM 會在極端省電或記憶體壓力下強結束處理程序。這時任務會中斷，Runtime 需要重新啟動。把日誌匯出後能看出是被系統殺死還是自身崩潰。
:::

## <DocIcon name="scroll" /> 日誌

三路日誌分開歸檔：

| 日誌 | 位置 | 內容 |
| --- | --- | --- |
| 宿主日誌 | 應用私有目錄 | Compose、網關、部署、更新 |
| Runtime 日誌 | `proot/session.log` + 上游 `log/` | 排程器與業務 |
| 特權啟動鏈 | 獨立時間線 | ADB 啟動、Binder 回投、虛擬螢幕 |

特性：

- 異常時自動儲存當前畫面快照。
- 預設 7 天輪轉，過期清理。
- 一鍵打包匯出為 zip。

匯出前確認壓縮包裡沒有 `config/deploy.yaml`、`password.txt`、`remote-access.json`。這些檔案在 Runtime 的 `config/` 下，匯出日誌時不會自動包含，但手動打包整個目錄時會。

## <DocIcon name="settings" /> 設定項速查

| 分組 | 內容 |
| --- | --- |
| 外觀 | Material / Miuix、明暗模式、動態取色 |
| 下載 | CNB / GitHub 直連 / 鏡像 / 自定義前綴 |
| 執行與安全 | 內置 Shizuku、Root、外部服務、啟用狀態 |
| 保活 | 前臺服務、電池最佳化引導 |
| 螢幕保護 | 自動進入、亮度、漂移 |
| OCR | 加速後端、執行緒數、失敗回退 |
| 關於 | 版本、提交、開源許可 |

## <DocIcon name="message" /> 常見問題

| 現象 | 原因 |
| --- | --- |
| 浮窗點擊無反應 | 懸浮窗權限被回收，或省電策略限制後臺 |
| 螢幕保護不漂移 | 系統關閉了動畫（開發者選項），或處於省電模式 |
| 小組件顯示舊狀態 | 啟動器快取，重新添加小組件 |
| 息屏後任務停止 | 電池最佳化未放行 |
| 日誌匯出為空 | 日誌已輪轉清理，或匯出目錄無權限 |
