QPython 中文文档 下载 App

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需要的权限
notifyPOST_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。