mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 12:30:44 +00:00
手表端 - 功能页从 10 个杂项精简到 7 个(屏幕/鼠标/媒体/文件/电脑/语音/电源) - 删掉:游戏封锁、待办、掷骰子、抽奖、壁纸、显示器开关、定时关机、 剪贴板历史、性能/磁盘/电量、文件夹浏览、教室限制等 - 改成显式列按钮,不再把电脑端所有功能组无脑铺到表盘 - 远程鼠标控制重做:滑动区 + 左键/滚轮/右键三按钮 滚轮点按=中键、上下滑=滚动 - 新增视频/音乐播放器(手表本地播放):进度拖动、左右滑快进退10秒、 点画面播放暂停、上一/下一、播完自动下一首 电脑端 - 新增 kill_all(结束所有进程),白名单保护系统关键进程和自身 - 新增 media_list / media_pull(播放器数据源) 安全边界:只允许媒体目录,用 relative_to 判断,防同前缀兄弟目录绕过 中转站 - known_devices 从 ID 集合改成「设备ID -> 配对码」映射 - 修复:管理员改码后关机超过 6 小时,改码会被超时清理冲掉 - 老格式 state 文件平滑升级
61 lines
2.9 KiB
XML
61 lines
2.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||
package="com.lanremote.watch"
|
||
android:versionCode="5"
|
||
android:versionName="2.3.0">
|
||
|
||
<!-- ⚠ 允许明文 HTTP。
|
||
中转可以是"自己搭的、没有证书"的服务:局域网那台,或者
|
||
2026-10-08 之后那台有公网 IP 的服务器(http://yk.xxmxxs.top:13245)。
|
||
Android 9+ 默认**禁止明文流量**,不加这一条的话请求会被系统
|
||
直接掐掉,日志里只有一句含糊的
|
||
"Cleartext HTTP traffic to ... not permitted"。
|
||
|
||
安全性说明:中转上跑的内容(配对令牌、画面、文件)本来就是
|
||
加密过的,明文只暴露 URL 和设备名。要更严的话后续上 HTTPS
|
||
(Let's Encrypt),那时可以把这一条去掉。 -->
|
||
<uses-permission android:name="android.permission.INTERNET" />
|
||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||
|
||
<!--
|
||
启动时一次性申请完,之后选图片/音频不再弹权限框。
|
||
Android 13(API 33) 起用细分媒体权限;12 及以下用 READ_EXTERNAL_STORAGE。
|
||
-->
|
||
<uses-permission
|
||
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||
android:maxSdkVersion="32" />
|
||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
||
|
||
<uses-feature android:name="android.hardware.type.watch" android:required="false" />
|
||
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
|
||
|
||
<application
|
||
android:label="@string/app_name"
|
||
android:icon="@drawable/ic_launcher"
|
||
android:allowBackup="false"
|
||
android:theme="@android:style/Theme.Material.Light.NoActionBar"
|
||
android:hardwareAccelerated="true"
|
||
android:usesCleartextTraffic="true"
|
||
android:requestLegacyExternalStorage="true">
|
||
|
||
<activity
|
||
android:name=".MainActivity"
|
||
android:exported="true"
|
||
android:label="@string/app_name"
|
||
android:screenOrientation="portrait"
|
||
android:configChanges="orientation|screenSize|keyboardHidden"
|
||
android:windowSoftInputMode="adjustResize">
|
||
<intent-filter>
|
||
<action android:name="android.intent.action.MAIN" />
|
||
<category android:name="android.intent.category.LAUNCHER" />
|
||
</intent-filter>
|
||
</activity>
|
||
</application>
|
||
</manifest>
|