设备信息使用指导

← 返回设备信息组件参考 · 全部使用指导

设备信息使用指导

不可见组件:一行积木查询设备的常用信息——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 源码与操作指导

下载 .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个错误,真实后台导入、安装包编译通过;真机/伴侣/硬件联调尚未实测。全部属性读写、方法与事件的操作入口和预期结果见组件指导。

文档反馈