zoukankan      html  css  js  c++  java
  • Android获取基站信息

    
    
    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,具体不知道为什么;有知道原因或者解决办法的麻烦告知;
  • 相关阅读:
    Aspnet_regiis加密web.config
    C#加密算法汇总
    ?? 运算符
    游戏外挂技术初探
    正则表达式语法
    C++Primer第四版13.5.1. 定义智能指针类的例子被new蒙蔽_BLOCK_TYPE_IS_VALID
    Adobe Flex 成为 Apache 基金会顶级开源项目
    程序员老黄历
    Flash多点触控体验和简介
    Flash开发人员必备:最新离线网页版ActionScript 3.0API文档、 flex 4.6 air 3.5 开发人员指南
  • 原文地址:https://www.cnblogs.com/moqi2013/p/3499674.html
Copyright © 2011-2022 走看看