使用 J2ME 从诺基亚 S40 读取手机 ID

发布于 2024-08-02 21:12:35 字数 592 浏览 8 评论 0原文

在诺基亚论坛上阅读,似乎从诺基亚 S40 系列手机访问 Cell ID 和相关信息几乎是不可能的,除非您的 MIDlet 已签名,即使这也仅适用于 S40 第三版 FP1 及更高版本。

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

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

但是返回的值为空。

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

Reading around Nokia forums, it seems that accessing the Cell ID and related information from Nokia S40 series phones is virtually impossible unless your MIDlet is signed, and even this would work only for S40 3rd Edition FP1 and above.

I tried the following on a Nokia S40 Dev Platform 2 phone, using Java ME:

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

However the value returned was null.

Is there any workaround to this, can the cell ID be read by other methods, like Modem AT (I guess this will only work with a phone connected to the PC), SIM Application Toolkit or other?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

歌入人心 2024-08-09 21:12:35

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

And even if it is S40 3rd Edition FP1 (or above) and signed - it has to be signed by Nokia! (really). I don't know about other workarounds, but I have also tried JSR-179 and failed to do this.

一萌ing 2024-08-09 21:12:35

我正在使用 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 即可。

I'm using LocationProvider class from the SDK.
Here's my function:

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;
    }
}

it's possible that you use GPS as well (if the device has it) by changing the methods with other options. Just make sure that in the device specs it has JSR 179.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文