设备信息使用指导
不可见组件:一行积木查询设备的常用信息——WiFi IP 地址、网络类型(变化时触发事件)、 飞行模式(变化时触发事件)、Android 系统版本与 SDK 级别、手机型号、ANDROID_ID、 系统语言、定位开关、电量、是否充电、电池温度(电量或充电状态变化时触发事件)。 本应用的版本名、安装来源、是否首次运行,以及返回桌面、打开系统设置、彻底退出应用, 在应用工具(普通应用里「返回键」只是退到后台,进程还在)。
原手机电量、PhoneInfo、飞行模式、网络状态几个拓展的设备类功能都已并入本组件, 新项目无需再导入相应拓展。
获取 WiFi 信息需要在「屏幕」的权限对话框里允许网络状态权限 (打包时自动声明,无需手动改清单);电量、电池、飞行模式、型号等查询不需要任何权限。
注意:该组件为新增内置组件,联机调试需更新到包含它的 AI 伴侣版本,打包 APK 不受影响。
快速上手
拖一个设备信息到屏幕,在屏幕初始化事件里把信息显示到标签:
when Screen1.Initialize() {
标签_IP.Text = 设备信息1.GetWifiIpAddress()
标签_系统版本.Text = 设备信息1.GetAndroidVersion()
}
做上传、联机类功能前先判断 WiFi,避免用流量:
when 按钮_上传.Click() {
if 设备信息1.IsWifiConnected() {
notifier1.ShowAlert("WiFi 已连接,开始上传")
} else {
notifier1.ShowAlert("当前未连接 WiFi")
}
}
电池状态面板
把电量、充电状态实时显示出来(电量变化时自动刷新):
procedure 刷新电池信息() {
标签_电量.Text = join("电量:", 设备信息1.BatteryLevel(), "%")
if 设备信息1.IsCharging() {
标签_状态.Text = join("充电中 · ", 设备信息1.BatteryTemperature(), "℃")
} else {
标签_状态.Text = "使用电池"
}
}
when 设备信息1.BatteryChanged(电量, 是否充电中) {
刷新电池信息()
}
when Screen1.Initialize() {
刷新电池信息()
}
飞行模式、网络类型变化同样有事件可接(飞行模式变化时(状态)(AirPlaneModeChanged)、
网络类型变化时(状态)(NetworkStateChanged)),比如网络从 WiFi 切到流量时提醒用户。
常见问题
| 现象 | 检查 |
|---|---|
| WiFi 地址为空 | 未连接 WiFi(先看是否连接WiFi的返回值);或权限未授予 |
| ANDROID_ID 是空文本 | 读取失败(极少数定制系统);应用侧区分设备时优先用它,不要用 IMEI |
| 瞬时电流/电荷量返回 -1 | 设备电量计不支持该属性 |
| 电量变化时事件频繁触发 | 事件已按电量或充电状态真正变化节流;温度抖动不会触发 |
| 联机调试点块没反应 | 伴侣版本太旧,不含本组件(打包 APK 不受影响) |
完整 .aia 源码与操作指导
无需账号或接口地址。所有信息来自设备;在伴侣中读的是运行伴侣的设备。安卓命名的系统版本入口在鸿蒙返回鸿蒙版本,ANDROID_ID无鸿蒙等价物会返回空。事件需实际系统状态变化,不用按钮伪造。
导入 DeviceInfoAllFeatures.aia,连接最新伴侣,或编译独立安装包。真机/伴侣运行尚未实测。
| API / 功能 | 操作入口 | 预期结果 |
|---|---|---|
| GetPhoneModel / GetAndroidVersion / SdkLevel / SysLang / GetAndroidId | 启动及点刷新 | 显示型号、版本、SDK、语言、标识;鸿蒙标识为空 |
| GetNetworkState / IsWifiConnected / GetWifiIpAddress / GetAirPlaneState / IsLocationEnabled | 点刷新 | 读取网络与系统开关,未连WiFi时IP可空 |
| BatteryLevel / IsCharging / BatteryTemperature | 点刷新 | 显示电量百分比、充电布尔和摄氏温度 |
| BatteryChanged | 插拔充电器或等电量变化 | 日志展示事件电量与充电参数,计数增加 |
| NetworkStateChanged | 切换WiFi/移动网络 | 显示事件原始状态,随后读取全部信息 |
| AirPlaneModeChanged | 打开/关闭飞行模式 | 显示变化事件;平台与系统可能限制后台投递 |
所有返回值均用于界面反馈,错误由底部错误区展示。设计器采用明确非默认配置,初始化与界面同步。API 覆盖检查按最终 AIA 检查方法、事件、属性读取与设置及设计器配置,不能替代真实设备验证。
设备信息
导入方法:项目 → 导入项目(.aia)→ 选择下载的 .aia 源码文件。 无需账号或接口地址。所有信息来自设备;在伴侣中读的是运行伴侣的设备。安卓命名的系统版本入口在鸿蒙返回鸿蒙版本,ANDROID_ID无鸿蒙等价物会返回空。事件需实际系统状态变化,不用按钮伪造。 覆盖检查 16/16。首次载入及保存重开均0个错误,真实后台导入、安装包编译通过;真机/伴侣/硬件联调尚未实测。全部属性读写、方法与事件的操作入口和预期结果见组件指导。
扫码添加客服咨询