# WebViewApp **Repository Path**: lucas-dxg/web-view-app ## Basic Information - **Project Name**: WebViewApp - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-23 - **Last Updated**: 2026-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Android TV WebView 应用 这是一个 Android TV(Leanback)应用:启动后直接进入全屏 WebView,用于展示网页作为“首页”。 ## 功能特性 - 全屏沉浸式 WebView(适配电视) - 支持 JavaScript、DOM Storage(localStorage) - Cookie 支持(包含第三方 Cookie) - 允许混合内容(HTTPS 页面可加载 HTTP 资源) - 文件上传(``) - 文件下载(使用系统 `DownloadManager`) ### 网络与错误页 - 断网时自动显示“网络已断开”错误页 - 网络恢复后自动重新连接(会防抖,避免频繁刷新) - 服务端异常(HTTP 500 / 503)显示“服务暂时不可用”错误页(可手动重试) ### 学校ID + 服务器切换 - 首次启动会弹出原生对话框,要求输入学校ID(`int`,正整数)并保存 - 起始页 URL 会自动追加/覆盖 `?sid=xxx` - 设置中可切换“正式服务器 / 测试服务器” ### 顶部操作 WebView 右上角提供两个“链接样式”的小按钮: - 刷新:重新加载页面 - 设置:重新输入学校ID,并切换测试/正式服务器 ## 配置说明 编辑 `app/src/main/res/values/strings.xml`: - `startup_url`:正式服务器起始页 - `startup_url_test`:测试服务器起始页 应用会根据当前选择自动在起始页 URL 上追加 `sid` 参数。 ## 构建与运行 建议使用 Android Studio 打开本目录并等待 Gradle Sync 完成。 - 运行配置:`app` - 设备:Android TV 真机或 Leanback 模拟器 命令行构建(Windows): ```bash gradlew.bat :app:assembleDebug ``` ## 常见问题 - 如果你希望重新触发“首次启动录入学校ID”,可在系统设置中清除应用数据(或卸载重装)。 - 项目默认允许加载 `http://`(见 `AndroidManifest.xml` 中 `usesCleartextTraffic` 与 `network_security_config.xml`)。 - Android 9(API 28)及以下下载文件可能会请求存储权限。