flutter - Flutter 如何获取imei
问题描述
我想创建一个许可系统来激活我的应用程序。为此,用户必须发送他的 IMEI(或电话号码从不改变以识别它)。
经过我的研究,我没有找到如何获取手机的 IMEI。有 device_info 包,但这个包没有给我这个信息。
我看到现在我们可以使用 UUID。但我想知道如果我重置手机或重新安装应用程序,它可能会改变。是真的吗?
可以重置将安装我的应用程序的手机,并且可以经常重新安装应用程序。那么我应该怎么做才能拥有一个永远不会改变的电话号码,让我建立我的离线许可证系统?
预先感谢您的建议。
解决方案
也许可以试试这个 Flutter 插件: https ://pub.dev/packages/imei_plugin
[更新]
根据文档,UUID(Android 10 及更高版本)可能会在出厂重置时更改。
用户首次设置设备时随机生成的 64 位数字(作为十六进制字符串),应在用户设备的整个生命周期内保持不变。如果在设备上执行恢复出厂设置,该值可能会发生变化。
关于Android更新上的UUID行为在线文档不多,但您可以查看此答案
- 在极少数情况下,此 ID 可能会更改。特别是,如果设备已恢复出厂设置,则可能会生成新的设备 ID *。此外,如果用户将其手机从某些有缺陷的 Android 2.2 * 实施升级到更新的、无缺陷的 Android 版本,则设备 ID 可能会更改。或者,如果用户在没有正确 Android ID 或设备 ID 的设备上卸载您的应用程序,则此 ID 可能会在重新安装时更改。
因此,您应该考虑使用不同的许可系统方法,或者提供支持选项以在出厂重置后将许可更改为新的 UUID。
推荐阅读
- elasticsearch - Elasticsearch,同样的查询带来不同的结果
- binary - 在 Fortran 中使用原始二进制数据编写一个 .vtu 文件(paraview)
- html - 来自数组的AngularJS表
- c++ - 为什么 .end() 可以返回一个无效的迭代器,而不是每次都被评估(如 .size())并检查它是否仍然有效?
- java - HAPI FHIR 检索患者
- gdb - 进程的 GDB 全内存转储
- python - 如何在 C# 和 python 应用程序之间建立快速通信?
- python - 无法将参数从列表传递给脚本
- hl7-fhir - 有没有办法生成综合患者数据,然后通过 fhir 模式公开它?
- html - Flask:动态路由导致 render_template 忽略 (jinjer2) html-formatting