获取手机信号塔位置 - Android

Posted

技术标签:

【中文标题】获取手机信号塔位置 - Android【英文标题】:Get Cell Tower Locations - Android 【发布时间】:2011-10-03 20:09:50 【问题描述】:

有谁知道是否可以获得有关设备范围内所有蜂窝塔的信息?只是能够获得他们的位置或关于他们的任何其他信息以及我将如何去做?

【问题讨论】:

看看这里。这几乎是同一个问题。 ***.com/questions/5184877/… 谢谢,我在阅读 API 时一定忽略了这一点。我会试一试的。 一个额外的资源:@​​987654322@celltowerid-location_area_code-lookup-t257.html 我以为他想要的是手机信号塔的实际位置,而不是基于手机信号塔的位置... 【参考方案1】:

这是您从当前网络状态获取手机信号塔 ID (CID) 和 lac(位置区号)的方式:

mPhoneStateReceiver = new PhoneStateIntentReceiver(this, new ServiceStateHandler());
mPhoneStateReceiver.notifyServiceState(MY_NOTIFICATION_ID);
mPhoneStateReceiver.notifyPhoneCallState(MY_NOTIFICATION_ID);
mPhoneStateReceiver.notifySignalStrength(MY_NOTIFICATION_ID);
mPhoneStateReceiver.registerIntent();

private class ServiceStateHandler extends Handler 
    public void handleMessage(Message msg) 
        switch (msg.what) 
            case MY_NOTIFICATION_ID:
                ServiceState state = mPhoneStateReceiver.getServiceState();
                System.out.println(state.getCid());
                System.out.println(state.getLac());
                System.out.println(mPhoneStateReceiver.getSignalStrength());
                break;
        
    

之后获取 Lat,Lng 位置信息有点棘手。这是一篇关于 Symbian 但谈论 Cell Tower -> Lat,Lng 转换的帖子的链接:http://discussion.forum.nokia.com/forum/showthread.php?s=&threadid=19693

【讨论】:

如果我没记错的话,PhoneStateIntentReceiver 不是可见类。它的进口是什么?此代码在哪个 API 级别上工作? 有趣的是,我从一个旧应用程序中挖出了这个,现在它不存在了。这似乎是新的替代品:PhoneStateListener 您好,我想获得手机信号塔的位置,但我无法获得那个位置。你能告诉我如何获得手机信号塔的位置吗...? 实际上,新的 API 显然是 CellIdentityGsm:它有方法 getCid()getLac() @sleske :仅用于快捷方式信息。适用于 API 17(android 4.2 Jelly Bean)及更高版本

以上是关于获取手机信号塔位置 - Android的主要内容,如果未能解决你的问题,请参考以下文章

iOS 是不是从手机信号塔或 Wifi 热点知道手机的位置,即没有 GPS?

从运营商获取位置而不是纬度/经度

是否可以从 HTTP 请求中获取(粗略的)手机位置

手机是不是仅使用 GPS 来获取其位置?

使用手机信号塔信息的谷歌地理定位 - Curl 400 Bad request PHP

使用 Cell Tower 的 Android 位置