检测室内移动设备 (J2ME)

Posted

技术标签:

【中文标题】检测室内移动设备 (J2ME)【英文标题】:Detect mobile device indoor (J2ME) 【发布时间】:2010-01-16 12:41:19 【问题描述】:

我正在尝试使用 J2ME 开发一个移动应用程序来检测室内设备。由于 GPS 无法检测到室内的移动设备。所以我正在研究使用带有小区 ID 的位置库。谁能给我一些关于这种方法的指导?

opencellid.org 提供了一个免费资源,用于使用小区 ID 检测移动设备。基于他们的API,它需要输入IMSI。但我无法检索 IMSI,因为它需要制造商/运营商域权限才能这样做。

顺便说一句,我来自新加坡,使用 Starhub 作为服务提供商并在 N97 mini 上测试我的程序。不使用它,任何这些信息都有帮助。

除了使用单元格 ID 的想法之外,还有其他方法吗?任何帮助将不胜感激......

【问题讨论】:

我没有看到 OpenCellId API 中记录了 IMSI 要求的位置。除了 HLR 和 SIM 卡,其他人都不知道 IMSI,那么它有什么用处? 您好,感谢您的回复。这是因为我从easywms.com/easywms/?q=en/node/3589 中找到了一个示例。从示例中,它基本上是从 IMSI 代码中提取 MCC 和 MNC。所以我想我需要IMSI。有没有其他方法可以获取 MCC 和 MNC 信息?? 【参考方案1】:

没有简单的方法来检测某人是否在“室内”。

您可以使用 gps 通过信号丢失来检测某人何时在室内,但您仍然无法判断他们是否只是没有信号,或者他们是否真的在门内。

手机三角测量在这种情况下几乎毫无用处,因为它不够准确。看着我手机的谷歌地图,它甚至无法分辨我在哪条街上,只是粗略地知道我在 500 米内的位置。

如果大楼各处都有 Wifi 接入点,那么这些可能是检测某人何时在室内的最佳方式。如果符合给定建筑物中每个无线接入点的数据库,则 Wifi 接入点将工作......

查看http://www.skyhookwireless.com/ 了解更多信息!

【讨论】:

【参考方案2】:

代码取自 developer.nokia.com

public String getIMSI() 
    String out = "";
    try 
        out = System.getProperty("IMSI");
        if (out == null || out.equals("null") || out.equals("")) 
            out = System.getProperty("phone.imsi");
        
        if (out == null || out.equals("null") || out.equals("")) 
            out = System.getProperty("com.nokia.mid.mobinfo.IMSI");
        
        if (out == null || out.equals("null") || out.equals("")) 
            out = System.getProperty("com.nokia.mid.imsi");
        
        if (out == null || out.equals("null") || out.equals("")) 
            out = System.getProperty("IMSI");
        
        if (out == null || out.equals("null") || out.equals("")) 
            out = System.getProperty("imsi");
        
     catch (Exception e) 
        return out == null ? "" : out;
    
    return out == null ? "" : out;

但这需要津贴,因此您必须使用诺基亚证书 afaik 签名。 并将 MiDLET-Permission 设置为 com.nokia.mid.mobinfo.IMSI

你可以试试

String mcc = System.getProperty("com.nokia.mid.countrycode");
String mns = System.getProperty("com.nokia.mid.networkid");

改为 iirc那些更容易阅读

【讨论】:

以上是关于检测室内移动设备 (J2ME)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React 中检测屏幕尺寸是不是已更改为移动设备?

非 GPS 设备上的 J2ME 位置 API (JSR 179)

检查移动设备的useragent

检测移动设备的最佳方法是啥?

使用 Eclipse 编程移动设备已经死了吗?

检测移动设备,如果移动设备使用替代 CSS 样式表? [复制]