如何在诺基亚 S60 SDK 模拟器中设置特定的 IMEI
-
04-07-2019 - |
题
我还对其他允许设置模拟器 IMEI 的 Symbian SDK 感兴趣。
解决方案
仿真器硬编码IMEI为“000000000000000”。用您想要使用的任何内容替换它,并继续运行您的代码。
Symbian C ++:
TPlpVariantMachineId imei;
PlpVariant::GetMachineIdL(imei);
imei.Copy(_L("123456789012345"));
Python for S60(PyS60):
import sysinfo
my_imei = sysinfo.imei()
my_imei = u"123456789012345"
其他提示
我对这些事情的一般方法是在软件中执行。
- 将IMEI提取代码放入一个全局可访问的函数中,并仅将此函数用于IMEI提取。
-
#ifdef __WINS __
可以在C ++代码中用于有选择地编译要在模拟器中返回的硬编码IMEI。在Java中,您可以通过其他方式告诉您在模拟器中(例如,如果IMEI返回的是模拟器中固定的奇怪值),并采取相应的行动。 - 您可以更进一步,拥有动态IMEI。一旦你这样做,你会发现用不同的IMEI测试你的代码会变得容易得多。 醇>
我从未真正尝试过,但这是我最好的猜测:
模拟器没有正确的电话实现,除非:
您可以通过红外线/USB/串口将其连接到实际的手机。在这种情况下,模拟器电话组件将需要配置为使用 AT 命令来操控手机(即使手机不是 Symbian 手机)。这允许您拨打电话、发送和接收短信/彩信,但肯定不会更改 IMEI。
您使用 SIMTSY 模块。这是一个使用配置文件来模拟电话事件的组件。它可以假装发送短信/彩信,假装您正在接听电话……您知道,这些实际上都不会产生任何类型的网络流量。我假设 IMEI 位于配置文件中,但我不希望您可以在不重新启动模拟器的情况下正确更改它。我从未见过 SIMTSY 在 Symbian 本身之外使用,所以我不知道它是否可供第三方开发人员使用。不过,它应该会在未来两年内与操作系统的其余部分一起开源。
还有一种可能性是,SDK 本身的构建方式使用构建时宏禁用了模拟器的大部分电话框架。你应该检查一下 http://forum.nokia.com
不隶属于 StackOverflow