Get Cell Tower Locations - Android

吃可爱长大的小学妹 提交于 2019-12-28 03:38:49

问题


Does anyone know if it is possible to get information about all of the cell towers in range of a device? Just be able to get the location of them or maybe any other information about them and how I would go about doing it?


回答1:


This is how you get the cell tower id (CID) and the lac (Location Area Code) from your current network state:

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

Getting Lat,Lng location information after that is a little trickier. Here's a link to a post that's about Symbian but talks about Cell Tower -> Lat,Lng conversion: http://discussion.forum.nokia.com/forum/showthread.php?s=&threadid=19693



来源:https://stackoverflow.com/questions/6668271/get-cell-tower-locations-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!