我需要为设备获取唯一 ID。我最初以为我会使用设备的 imei,但似乎没有返回任何内容:
import QtSystemInfo 5.0
DeviceInfo {
id: device
}
Component.onCompleted {
console.log(device.imei(0)) // Returns nothing
}
这可能是也可能不是错误:https ://bugs.launchpad.net/ubuntu/+source/qtsystems-opensource-src/+bug/1197542但由于一年没有任何更新,我希望也许我可以使用其他一些信息。
那么,有谁知道我如何获得设备的唯一 ID?它必须是持久的,但除了作为标识符之外,它可能完全没有意义。
正如 dobey 所说,无法在受限应用程序中获取 IMEI,因此我放弃了尝试根据设备本身获取 ID。相反,我只是生成一个 UUID 并将其存储在 U1DB 中。
这确实有效。这就是ubuntu-system-settings获取 IMEI 的方式。
相反,您的问题可能是 console.log() 不会转到您期望看到的任何控制台输出,或者您运行它的系统没有可用的 IMEI(这需要 GSM 调制解调器)。在系统设置的关于页面中也显示了一个序列号,但它是通过 C++ 插件读取的,您可能无法直接从您的应用程序中使用它,并且可能需要重新实现。
读取设备信息目前仅限于系统不受限制的应用程序。当前没有可用于在受限应用程序中读取 IMEI 的 policy_group。
在更新的版本中,
DeviceInfo
QML 类型有一个uniqueID
属性:文档:QML DeviceInfo 元素:属性 uniqueID。(代码未经测试,只是在文档中看到了这一点。)