作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
目前,我正在用网络中的单元对我的 Android 进行三边测量。它甚至比我想象的更准确。但没有我想要的那么准确。所以我想涉及比从 getNeighboringCellInfo 获得的更多的塔。我想获得范围内每个塔的小区 ID 和信号强度。每个网络运营商。有没有办法“ping”信号塔,让它们用 cellID、Lac 和信号强度来回答?不知何故,这必须是可能的。我可以并行扫描 2G 和 3G(和 4G)吗?或者我可以通过编程方式在它们之间切换吗?有什么建议么?希望我足够清楚...
最佳答案
似乎 TelephonyManager
和 getNeighboringCellInfo()
就是您要查找的内容。
这是一个简单直接的例子:
/* first you wanna get a telephony manager by asking the system service */
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
/* then you can query for all the neighborhood cells */
List<NeighboringCellInfo> neighbors = tm.getNeighboringCellInfo();
/* here's something you can get from NeighboringCellInfo */
for (NeighboringCellInfo n : neighbors) {
Log.v("CellInfo", "" + n.getCid());
Log.v("CellInfo", "" + n.getLac());
Log.v("CellInfo", "" + n.getPsc());
Log.v("CellInfo", "" + n.getRssi());
}
确保您在 list 文件中包含所有必需的权限,例如 ACCESS_COARSE_LOCATION
或 READ_PHONE_STATE
,具体取决于您将使用的 API,或者它'只会崩溃。
哦,顺便说一句,这只适用于 2G。 3G及以上网络不支持此类操作。
关于java - 获取范围内所有基站的 CID、LAC 和信号强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12491256/
本文实例讲述了Android实现Service获取当前位置(GPS+基站)的方法。分享给大家供大家参考。具体如下: 需求详情: 1)、Service中每隔1秒执行一次定位操作(GPS+基站) 2
我是一名优秀的程序员,十分优秀!