Android获取基站信息 - 默契.
Android获取基站信息
2013-12-31 16:31
默契.
阅读(973)
评论(0)
编辑
收藏
举报
package cn.police.bz.util; import android.content.Context; import android.telephony.CellLocation; import android.telephony.TelephonyManager; import android.telephony.cdma.CdmaCellLocation; import android.telephony.gsm.GsmCellLocation; public class BaseStationInfoHelper { public static class BaseStationInfo { /** 国家 */ public int mcc = -1; /** 运营商 */ public int mnc = -1; /** 基站编号 */ public int lac = -1; /** 小区编号 */ public int cid = -1; } public static BaseStationInfo getSimCardInfo(Context context) { final TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); BaseStationInfo res = new BaseStationInfo(); CellLocation clll = telephony.getCellLocation(); if (clll == null) { return res; } if (clll instanceof GsmCellLocation) { GsmCellLocation gsm = (GsmCellLocation) clll; int lac = gsm.getLac(); String mcc = telephony.getNetworkOperator().substring(0, 3); String mnc = telephony.getNetworkOperator().substring(3); res.cid = gsm.getCid(); res.mcc = Integer.parseInt(mcc); res.mnc = Integer.parseInt(mnc); res.lac = lac; } else if (clll instanceof CdmaCellLocation) { CdmaCellLocation cdma = (CdmaCellLocation) clll; int lac = cdma.getNetworkId(); String mcc = telephony.getNetworkOperator().substring(0, 3); String mnc = telephony.getNetworkOperator().substring(3); int cid = cdma.getBaseStationId(); res.cid = cid; res.mcc = Integer.parseInt(mcc); res.mnc = Integer.parseInt(mnc); res.lac = lac; } return res; } }
有一个问题就是三星部分手机获取不到,telephony.getCellLocation()返回的是null,具体不知道为什么;有知道原因或者解决办法的麻烦告知;
版权声明:本文为moqi2013原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。