移动联通电信获取基站数据库的方案在googleAPI里提供了基站信息的获取类TelephonyManager,通过其方法getCellLocation得到CellLocation即可获取到基站相关信息但CellLocation是个抽象类,所以在具体使用时需要判断接入的网络制式来用其子类CdmaCellLocation或GsmCellLocation 来强转CdmaCellLocation对应CDMA网,GsmCellLocation对应GSM网三大网络运营商的网络制式对应如下:移动2G网-->GSM移动3G网-->TD-SCDMA电信2G网-->CDMA电信3G网-->CDMA2000联通2G网-->GSM联通3G网-->WCDMA由此可见移动,联通2G网都可使用GsmCellLocation电信2G,3G网则使用CdmaCellLocation那么移动3G和联通3G又当如何其实经本人亲测,移动3G网也可使用GsmCellLocation,听说是TD-SCDMA衍生于GSM,具体原因咱也不用纠结了,反正能用就是了而联通的WCDMA据说也可使用GsmCellLocation,那姑且就是这样吧,有条件的童鞋试一试吧。()可有多种情况,WORK_TYPE_EHRPD通过对网络类型判断后获取对应基站信息代码片段如下:Html代码 public static ArrayList<CellIDInfo> getCellIDInfo(Context context) throws Exception{ TelephonyManager manager = (TelephonyManager) (); ArrayList<CellIDInfo> CellID = new ArrayList<CellIDInfo>(); CellIDInfo currentCell = new CellIDInfo(); int type = (); (TAG, "getCellIDInfo--> NetworkType = " + type); int ype = (); (TAG, "getCellIDInfo--> ype = " + ype); if (type == WORK_TYPE_GPRS // GSM网 || type == WORK_TYPE_EDGE || type == WORK_TYPE_HSDPA) { GsmCellLocation gsm = ((GsmCellLocation) ()); if (gsm == null) { (TAG, "GsmCellLocation is null!!!"); return null; } int lac = (); String mcc = ().substring(0, 3); String mnc = ().substring(3, 5); int cid = (); = (); = mcc; = mnc; = lac;
移动联通电信获取基站数据库的方案 来自淘豆网m.daumloan.com转载请标明出处.