云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 获取信号强度

获取信号强度

  • 62 次阅读
  • 3 次下载
  • 2025/5/28 1:17:37

34. protected void onPause() 35. { 36.

37. super.onPause(); 38.

39. Tel.listen(MyListener, PhoneStateListener.LISTEN_NONE); 40. 41. } 42. 43. 44.

45. /* Called when the application resumes */ 46.

47. @Override

48. protected void onResume() 49. { 50.

51. super.onResume(); 52.

53. Tel.listen(MyListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); 54. 55. } 56. 57. 58.

59. /* —————————– */ 60.

61. /* 开始PhoneState听众*/ 62.

63. /* —————————– */ 64.

65. private class MyPhoneStateListener extends PhoneStateListener 66. 67. { 68.

69. /* 从得到的信号强度,每个tiome供应商有更新*/ 70.

71. @Override

72. public void onSignalStrengthsChanged(SignalStrength signalStrength) 73. { 74.

75. super.onSignalStrengthsChanged(signalStrength); 76.

77. Toast.makeText(getApplicationContext(), \to Firstdroid!!! GSM Cinr

= \78.

79. + String.valueOf(signalStrength.getGsmSignalStrength()),

Toast.LENGTH_SHORT).show(); 80. 81. } 82. 83. 84. }; 85. 86. 87. 88. }

CDMA:

用下面方法取得CDMA信号强度只是-1,请哪位高手请指点一下,谢了 mSignalStrength = new SignalStrength();

int cdmaDbm = mSignalStrength.getCdmaDbm(); int cdmaEcio = mSignalStrength.getCdmaEcio(); android 获取手机GSM/CDMA信号信息

在Android中我们常用的轻松获取WIFI信号列表,那如何获取CDMA或者GSM的手机信号呢?

系统提供了TelephonyManager类,此类非常丰富,基本你所需要的手机信息都能获取到,那下面就来看看我们所需要的CDMA与GSM信号是如何获取的吧。

private TelephonyManager telephonyManager; private PhoneStateListener phoneStateListener; 首先声明两个变量

在onCreate()方法中初始化变量 InitPhoneStateListener();

telephonyManager = (TelephonyManager) this.ctx.getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); telephonyManager.listen(phoneStateListener,PhoneStateListener.LISTEN_CELL_LOCATION); if(telephonyManager.getCellLocation()!=null){

//获取当前基站信息

phoneStateListener.onCellLocationChanged(telephonyManager.getCellLocation()); }

/** 初始化PhoneStateListener */ private void InitPhoneStateListener() {

phoneStateListener = new PhoneStateListener() { @Override

public void onCellLocationChanged(CellLocation location) { // TODO Auto-generated method stub

if (location instanceof GsmCellLocation) {// gsm网络 phoneType = 1;

GsmCell gsmCell = new GsmCell();

gsmCell.lac = ((GsmCellLocation) location).getLac(); gsmCell.cid = ((GsmCellLocation) location).getCid(); /** 获取mcc,mnc */

String mccMnc=telephonyManager.getNetworkOperator(); if(mccMnc!=null&&mccMnc.length()>=5){ gsmCell.mcc = mccMnc.substring(0, 3); gsmCell.mnc = mccMnc.substring(3, 5); }

gsmCell.signal=lastSignal;

gsmCell.time = System.currentTimeMillis(); if (gsmCell.lac != -1 && gsmCell.cid != -1) { gsmCells.add(0, gsmCell); // Collections.sort(gsmCells); // /**最多保存近3个基站信息*/ // if (gsmCells.size() >3) // gsmCells.remove(3); }

//获取相邻基站信息

List neighboringList=telephonyManager.getNeighboringCellInfo(); for(NeighboringCellInfo ni:neighboringList){ GsmCell gb = new GsmCell(); gb.mnc=mccMnc.substring(3, 5); gb.lac=ni.getLac(); gb.cid=ni.getCid();

gb.signal=-133+2*ni.getRssi();

gb.time=System.currentTimeMillis(); gsmCells.add(gb); }

} else {// 其他CDMA等网络 try {

Class cdmaClass = Class.forName(\phoneType = 2;

CdmaCellLocation cdma = (CdmaCellLocation) location; CdmaCell cdmaCell = new CdmaCell();

cdmaCell.stationId = cdma.getBaseStationId() >= 0 ? cdma.getBaseStationId(): cdmaCell.stationId; cdmaCell.networkId = cdma.getNetworkId() >= 0 ? cdma .getNetworkId() : cdmaCell.networkId;

cdmaCell.systemId = cdma.getSystemId() >= 0 ? cdma .getSystemId() : cdmaCell.systemId; /** 获取mcc,mnc */

String mccMnc=telephonyManager.getNetworkOperator(); if(mccMnc!=null&&mccMnc.length()>=5){ cdmaCell.mcc = mccMnc.substring(0, 3); cdmaCell.mnc = mccMnc.substring(3, 5); }

cdmaCell.signal=lastSignal;

cdmaCell.time = System.currentTimeMillis(); int lat = cdma.getBaseStationLatitude(); int lon = cdma.getBaseStationLongitude();

if (lat

if (cdmaCell.stationId != -1&& cdmaCell.networkId != -1&& cdmaCell.systemId != -1) { cdmaCells.add(0, cdmaCell); }

List neighboringList=telephonyManager.getNeighboringCellInfo(); for(NeighboringCellInfo ni:neighboringList){ CdmaCell cdmaBean = new CdmaCell(); cdmaBean.systemId=cdmaCell.systemId; cdmaBean.lac=ni.getLac(); cdmaBean.cellid=ni.getCid();

搜索更多关于: 获取信号强度 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

34. protected void onPause() 35. { 36. 37. super.onPause(); 38. 39. Tel.listen(MyListener, PhoneStateListener.LISTEN_NONE); 40. 41. } 42. 43. 44. 45. /* Called when the application resumes */ 46. 47. @Override 48. protected void onResume() 49. { 50. 51. super.onResume(); 52. 53. Tel.listen(MyListener,PhoneStateListener.LISTEN_SIGNAL_STRE

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com