Gsm.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:batteryhub 作者:
public static CellInfo getCellInfo(Context context) {
      CellInfo cellInfo = new CellInfo();

      TelephonyManager manager = (TelephonyManager)
              context.getSystemService(Context.TELEPHONY_SERVICE);

      String netOperator = manager.getNetworkOperator();

      // Fix crash when not connected to network (airplane mode, underground,
      // etc)
      if (netOperator == null || netOperator.length() < 3) {
          return cellInfo;
      }

/*
 * FIXME: Actually check for mobile network status == connected before
 * doing this stuff.
 */

      if (Phone.getType(context).equals(PHONE_TYPE_CDMA)) {
          CdmaCellLocation cdmaLocation = (CdmaCellLocation) manager.getCellLocation();

          cellInfo.cid = cdmaLocation.getBaseStationId();
          cellInfo.lac = cdmaLocation.getNetworkId();
          cellInfo.mnc = cdmaLocation.getSystemId();
          cellInfo.mcc = Integer.parseInt(netOperator.substring(0, 3));
          cellInfo.radioType = Network.getMobileNetworkType(context);
      } else if (Phone.getType(context).equals(PHONE_TYPE_GSM)) {
          GsmCellLocation gsmLocation = (GsmCellLocation) manager.getCellLocation();

          cellInfo.mcc = Integer.parseInt(netOperator.substring(0, 3));
          cellInfo.mnc = Integer.parseInt(netOperator.substring(3));
          cellInfo.lac = gsmLocation.getLac();
          cellInfo.cid = gsmLocation.getCid();
          cellInfo.radioType = Network.getMobileNetworkType(context);
      }

      return cellInfo;
  }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号