使用No Listener获取Cell Phone信号强度

时间:2012-07-03 08:24:35

标签: android telephony

如何在不使用收听者的情况下获得当前的CDMA信号强度? 如果信号电平发生变化,我不需要更新。 研究我还没有看到解决方案。如果它只是在它发生变化时才显示出来,那么顶部的信号电平条如何工作呢?我只需要粗略估计与条形相关的细胞信号强度。

ConnectivityManager cm=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
int CDMAdb=cm.SignalStrength.getCdmaDbm();  

1 个答案:

答案 0 :(得分:0)

我不使用调制解调器/ RIL相关的东西,但由于手机会在启动时尝试连接到网络,我猜想显示信号强度的状态栏会在看到信号强度后立即开始监听您也可以通过实施starts automatically upon boot completion并注册接收PhoneStateListener回调的onSignalStrengthsChanged的服务来执行此操作。收到第一个回调之前的初始信号强度值由您自行决定(最小强度似乎是合理的初始值)。 然后,您的活动可以在需要时查询服务以获取当前信号强度(通过意图/活页夹等)。