1

我也对其他允许设置模拟器 IMEI 的 Symbian SDK 感兴趣。

4

3 回答 3

1

我对这类事情的一般方法是在软件中进行

  1. 将提取IMEI码放入一个全局可访问的函数中,该函数仅用于提取IMEI。
  2. #ifdef __WINS__可以在 C++ 代码中使用,以选择性地在您想要在模拟器中返回的硬编码 IMEI 中进行编译。在 Java 中,您可能可以通过其他方式告诉您自己在模拟器中(例如,如果返回的 IMEI 是模拟器中固定的怪异值),并采取相应的行动。
  3. 您可以更进一步,拥有一个动态的 IMEI。一旦你这样做了,你会发现用不同的 IMEI 测试你的代码变得容易得多。
于 2008-11-11T09:31:33.827 回答
1

模拟器的 IMEI 硬编码为“000000000000000”。用您想要使用的任何内容替换它并继续运行您的代码。

塞班 C++:

    TPlpVariantMachineId imei;
    PlpVariant::GetMachineIdL(imei); 
    imei.Copy(_L("123456789012345"));

适用于 S60 (PyS60) 的 Python:

    import sysinfo
    my_imei = sysinfo.imei()
    my_imei = u"123456789012345"
于 2009-05-27T11:06:23.420 回答
0

我从未真正尝试过,但这是我最好的猜测:

模拟器没有适当的电话实现,除非:

  • 您通过红外线/USB/串行将其链接到实际电话。在这种情况下,模拟器电话组件将需要配置以使用 AT 命令来引导电话(即使电话不是 Symbian 电话)。这使您可以拨打电话、发送和接收短信/彩信,但肯定不会更改 IMEI。

  • 您使用 SIMTSY 模块。这是一个使用配置文件来模拟电话事件的组件。它可以假装发送短信/彩信,假装你正在接听电话……这些都不会真正造成任何类型的网络流量,你懂的。我假设 IMEI 在配置文件中,但我不希望您可以在不重新启动模拟器的情况下正确更改它。我从未见过 SIMTSY 在 Symbian 本身之外使用,所以我不知道它是否可供第三方开发人员使用。不过,它应该在未来 2 年内与操作系统的其余部分一起开源。

还有一种可能是 SDK 本身的构建方式禁用了模拟器的大部分电话框架,使用构建时宏。你应该检查http://forum.nokia.com

于 2008-10-28T11:57:03.887 回答