首页 > 解决方案 > Flutter 如何获取imei

问题描述

我想创建一个许可系统来激活我的应用程序。为此,用户必须发送他的 IMEI(或电话号码从不改变以识别它)。

经过我的研究,我没有找到如何获取手机的 IMEI。有 device_info 包,但这个包没有给我这个信息。

我看到现在我们可以使用 UUID。但我想知道如果我重置手机或重新安装应用程序,它可能会改变。是真的吗?

可以重置将安装我的应用程序的手机,并且可以经常重新安装应用程序。那么我应该怎么做才能拥有一个永远不会改变的电话号码,让我建立我的离线许可证系统?

预先感谢您的建议。

标签: flutterdart

解决方案


也许可以试试这个 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。


推荐阅读