QSL4A 系统服务接口——通知、屏幕、剪贴板、WiFi
发送状态栏通知
在 Android 状态栏显示一条通知,是后台脚本与用户通信的好方式:
from androidhelper import Android
droid = Android()
droid.notify("脚本完成", "你的数据处理任务已完成")
通知显示在状态栏上,下拉可以看到标题和内容。点击通知可以触发特定动作(部分版本支持)。这比 Toast 更持久——Toast 几秒就消失,通知可以保留直到用户手动清除。
剪贴板操作
读写 Android 的系统剪贴板:
# 写入剪贴板
droid.setClipboard("这段文字已复制到剪贴板")
# 读取剪贴板
text = droid.getClipboard().result
print(f"剪贴板内容: {text}")
这可以用来和其他 App 交换数据——脚本把结果写到剪贴板,用户在其他 App 里粘贴即可。
屏幕控制
打开 / 关闭屏幕
droid.wakeUp() # 点亮屏幕
droid.slumber() # 让屏幕休眠(需要改手机状态权限)
获取屏幕信息
# 屏幕分辨率
resolution = droid.getScreenResolution().result
print(f"{resolution.get('width')}x{resolution.get('height')}")
# 屏幕亮度
brightness = droid.getScreenBrightness()
droid.setScreenBrightness(100) # 设置亮度(0-255)
全屏显示(部分版本)
droid.fullScreen(True) # 进入全屏
droid.fullScreen(False) # 退出全屏
WiFi 控制
查看 WiFi 状态
status = droid.wifiGetConnectionInfo().result
print(f"SSID: {status.get('SSID')}")
print(f"IP: {status.get('ipAddress')}")
print(f"信号: {status.get('linkSpeed')} Mbps")
扫描附近 WiFi
droid.wifiStartScan()
import time
time.sleep(3)
networks = droid.wifiGetScanResults().result
for net in networks:
print(f"{net.get('SSID')} - 信号: {net.get('level')}")
开关 WiFi
droid.toggleWifi(True) # 开
droid.toggleWifi(False) # 关
注意:部分 ROM(如 MIUI、OneUI)限制第三方 App 直接开关 WiFi,toggleWifi 可能静默失败。如果开关 WiFi 不生效,大概率是系统限制,不是 API 问题。
网络连接
检查网络是否可用
# 方式一:检查网络状态
if droid.checkNetworkState().result:
print("网络可用")
else:
print("网络不可用")
# 方式二:更精确地判断是哪个网络
state = droid.getNetworkStatus().result
# 返回值包含 mobile / wifi / none 等
获取设备信息
# 手机型号
model = droid.getPhoneType().result
# 返回值包含 brand、model、manufacturer
# Android 版本
android_version = droid.getSdkVersion().result
# 设备唯一 ID(可能受权限限制)
imei = droid.getDeviceId().result
# 或
serial = droid.getAndroidVersion().result
权限需求汇总
| API | 需要的权限 |
|---|---|
notify | POST_NOTIFICATIONS(Android 13+) |
setClipboard / getClipboard | 无额外权限 |
wakeUp / slumber | 修改手机状态 |
| WiFi 扫描 | 开关 WLAN + 更改 Wi-Fi 状态 + 粗略位置 |
| 开关 WiFi | 开关 WLAN + 更改 Wi-Fi 状态 |
getDeviceId | 获取手机信息 |
修改手机状态是比较敏感的权限,建议只用在需要的场景,不要随便授予。
小结
QSL4A 的系统服务接口让 Python 脚本可以参与到 Android 系统的日常操作中。状态栏通知是后台脚本最实用的反馈方式——比 Toast 持久、比弹窗不打扰。剪贴板可以用来和其他 App 交换数据。WiFi 控制受 ROM 限制较多,toggleWifi 不生效时不用慌,是系统不让你改。
继续看 通信功能 了解发送短信、拨电话、发送邮件的 API。