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

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

【问题讨论】:

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

标签: java android location


【解决方案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)及更高版本
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-10
  • 2013-01-05
相关资源
最近更新 更多