1

浏览诺基亚论坛,似乎几乎不可能从诺基亚 S40 系列手机访问 Cell ID 和相关信息,除非您的MIDlet已签名,即使这仅适用于 S40 3rd Edition FP1 及更高版本。

我使用Java ME在诺基亚 S40 Dev Platform 2 手机上尝试了以下操作:

System.getProperty("com.nokia.mid.cellid");

但是返回的值为空。

是否有任何解决方法,是否可以通过其他方法读取单元 ID,例如调制解调器 AT(我想这仅适用于连接到 PC 的手机)、SIM 应用程序工具包或其他方法?

4

2 回答 2

2

即使是 S40 3rd Edition FP1(或更高版本)并签名 - 也必须由诺基亚签名!(真的)。我不知道其他解决方法,但我也尝试过 JSR-179,但未能做到这一点。

于 2009-08-20T15:07:18.690 回答
0

我正在使用 SDK 中的 LocationProvider 类。这是我的功能:

public LocationProvider getCellIdLocationProvider() {
    try {
        int[] methods = {Location.MTA_ASSISTED | Location.MTE_CELLID
            | Location.MTE_SHORTRANGE | Location.MTY_NETWORKBASED};
        return LocationUtil.getLocationProvider(methods, null);
    } catch (LocationException e) {
        System.err.println("Failed to get cell id location provider.");
        return null;
    }
}

通过使用其他选项更改方法,您也可以使用 GPS(如果设备有)。只需确保在设备规范中它具有 JSR 179。

于 2013-03-11T17:28:13.230 回答