我找到了很多代码来获取cell-id和位置区域代码,我使用下面的代码来获取cell-id和位置区域代码.
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation();
int cid = cellLocation.getCid();
int lac = cellLocation.getLac();
Run Code Online (Sandbox Code Playgroud)
问题是,当我使用airtel-sim卡时,它工作正常并给出cell-id = 4331和loc = 610.但是当我使用relience-sim卡时,它会给出错误的结果cell-id = 11541和loc = 18823.我怎么解决这个问题?
小智 1
以下线程中重点介绍了解决方案:Android:CellID 不适用于所有运营商?
getCid()简而言之,您需要屏蔽在 3G 网络中获得的号码0xffff。以下是一个片段:
GsmCellLocation cellLocation = (GsmCellLocation)telm.getCellLocation();
new_cid = cellLocation.getCid() & 0xffff;
new_lac = cellLocation.getLac() & 0xffff;
Run Code Online (Sandbox Code Playgroud)
希望有帮助
| 归档时间: |
|
| 查看次数: |
16112 次 |
| 最近记录: |