J2ME / MIDP - 如何检测连接类型(2G / 3G / 4G / Wi-Fi)?

ban*_*ing 5 java-me wifi lg samsung-mobile motorola-emdk

我在网上多次看到这个问题,但似乎没有任何地方有全面的答案。

我创建了一个 J2ME 应用程序,它需要检测网络连接类型(如果通过 Wi-Fi 连接,它可以连接到不同的资源)。

有一个答案在这里,涉及到诺基亚设备和一个在这里,涉及到黑莓设备,但我也正在为:

  • 华为
  • 泰克诺
  • 三星
  • 摩托罗拉
  • LG

诺基亚解决方案似乎是使用System.getProperty("com.nokia.network.access"),那么有谁知道其他设备制造商的等价物是什么?

mr_*_*lou 0

我认为您可能对 MIDP 期望过高。您无疑已经意识到,使用标准 JavaME API 不可能获取连接类型,因此您依赖于不同品牌的专门选项,正如您也发现的那样。

您可能需要寻找替代解决方案。如果你确切地告诉你想要做什么,那么也许还有其他一些聪明的“技巧”。

如果我理解正确的话,如果连接 GPRS/3G,您想连接到 WAN IP,如果连接 Wi-Fi,您想连接到 LAN IP?在这种情况下,如果是我,我会简单地确保 LAN IP 是静态 IP,然后总是先尝试访问该 IP。如果您已连接 Wi-Fi,则可以访问它。如果没有,则将无法访问,然后您可以继续访问 WAN IP 地址。