作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我看到我们有 CDMACellLocation 和 GSMCellLocation 的类,但没有任何特定于 LTE 的类。我可以获得特定于我的电话服务上下文的 LTE 小区位置吗?谢谢!
最佳答案
您可以从 LTE 连接获取信息,对属于 CellInfo 列表的实例进行特定转换。
MobileInfoRecognizer mobileInfoRecognizer = new MobileInfoRecognizer();
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
List<CellInfo> cellInfos = tm.getAllCellInfo();
additional_info = mobileInfoRecognizer.getCellInfo(cellInfos.get(0));
在我的应用程序中,我注意到您只能获取列表中的第一个元素;我向您展示我的自定义类(class):
public class MobileInfoRecognizer {
public String getCellInfo(CellInfo cellInfo) {
String additional_info;
if (cellInfo instanceof CellInfoGsm) {
CellInfoGsm cellInfoGsm = (CellInfoGsm) cellInfo;
CellIdentityGsm cellIdentityGsm = cellInfoGsm.getCellIdentity();
additional_info = "cell identity " + cellIdentityGsm.getCid() + "\n"
+ "Mobile country code " + cellIdentityGsm.getMcc() + "\n"
+ "Mobile network code " + cellIdentityGsm.getMnc() + "\n"
+ "local area " + cellIdentityGsm.getLac() + "\n";
} else if (cellInfo instanceof CellInfoLte) {
CellInfoLte cellInfoLte = (CellInfoLte) cellInfo;
CellIdentityLte cellIdentityLte = cellInfoLte.getCellIdentity();
additional_info = "cell identity " + cellIdentityLte.getCi() + "\n"
+ "Mobile country code " + cellIdentityLte.getMcc() + "\n"
+ "Mobile network code " + cellIdentityLte.getMnc() + "\n"
+ "physical cell " + cellIdentityLte.getPci() + "\n"
+ "Tracking area code " + cellIdentityLte.getTac() + "\n";
} else if (cellInfo instanceof CellInfoWcdma){
CellInfoWcdma cellInfoWcdma = (CellInfoWcdma) cellInfo;
CellIdentityWcdma cellIdentityWcdma = cellInfoWcdma.getCellIdentity();
additional_info = "cell identity " + cellIdentityWcdma.getCid() + "\n"
+ "Mobile country code " + cellIdentityWcdma.getMcc() + "\n"
+ "Mobile network code " + cellIdentityWcdma.getMnc() + "\n"
+ "local area " + cellIdentityWcdma.getLac() + "\n";
}
return additional_info;
}
}
因此,如果被测设备不支持 LTE,您始终可以获取有关其连接的其他相关信息。希望您会发现它有用。
关于android - 如何在android中获取LTE小区位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224684/
让我解释一下情况: 有一些移动网络(假设是 GSM) 在此网络中有 2 位移动受访者:Alice 和 Bob 彼此不知道他们的位置 Alice 向 Bob 拨出电话。调用是标准的,假设 Alice 不
问题是,当我使用下面的源代码时,我只在 2G 模式下收到小区 ID,如果我切换到 3G 模式,我有时会收到 HSDPA 的 -1 或 UMTS 的任何消息。源代码是: for (int i = 0;
我曾经使用“强制网络连接”到我的 Android 设备上的 LTE at+cops=0,,,7 是否有 5G NR 的 AT 命令? 最佳答案 根据ETSI技术规范127 007,强制连接特定网络的A
我正在开发一个移动网络应用程序。即使设备 GPS 关闭,我也想找到用户当前位置。经过一番谷歌搜索后,我发现 opencellid 数据库我们可以通过将 cellId、mnc、mcc 传递给 openc
我是一名优秀的程序员,十分优秀!